Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added 'hebmak' layout #13

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Added 'hebmak' layout #13

wants to merge 1 commit into from

Conversation

montdor
Copy link

@montdor montdor commented Dec 22, 2020

It seemed like the work on a colemak-equivalent layout in Hebrew had stalled on the forum, so I decided to try and submit the layout I created and have been using for some years given that I am a Colemak user and a native Hebrew speaker.
I apologize in advance if I did something wrong -- this is quite literally the first time I have created a pull request on GitHub!

Some notes:

  • Those letters that have a direct equivalent in English and Hebrew are maintained (e.g. daled and D)
  • Some letters try and keep the conventions I recall from the phonetic Hebrew keyboard (e.g. ayin is E, tet is shift+T)
  • Most letters that do not have equivalents try and follow easy mnemonics (e.g. shin looks like a W)
  • The otiyot sofiyot (final forms of the letters) are typed on <shift+'letter'> (e.g. final mem on <shift+m>) since there are no capital letters in Hebrew
  • There are currently no changes to the symbols that I am aware of (i.e. there is no shekel symbol)

Thank you for your amazing contributions to the Colemak community @DreymaR !

@DreymaR
Copy link
Owner

DreymaR commented Feb 3, 2021

Hi! Sorry for not getting back to you on this matter before. Thanks for your interest and effort on this matter. You're quite right, there hasn't been much interest for the Colemak-IL "Hebmak" variant since we did that work in 2017. Unfortunately. Right now, there's an interest for making an Arabic transciption layout though, so something interesting is up at least. Maybe we can concert these efforts – although Hebrew and Arabic script have their differences they also have some interesting similarities.

I don't think that using the <Lat#> key aliases is right. They're supposed to mean that letter, and in this case this is not the case since the <LatS> key will be used to correspond to Latin letter R etc! I'd much prefer using the positional key names such as <AC02> then.

Since it's a while back, I don't remember all the decisions Colemak forum user Wrapman and I made in 2017. Could you please take another look at my summary post and comment on what you disagree on there? I remember feeling that Sin/Shin belongs on the S key although as you say their shape fits with the W key. Overall, I'm a bigger fan of phonetic arguments than of shape arguments although both may be useful at times. Maybe these letters can be both places...? And I really feel that we should tap into the power of the AltGr levels (lvl3–4).
https://forum.colemak.com/topic/1458-locale-colemak-variants-for-several-countries-the-edreymar-way/#p19971

Which is the phonetic Hebrew keyboard you talk about? If it has ayin on E rather than Y, the only one I know of is the one I found from Kansas University, as shown in my summary Forum post. Please let me know if I missed any good phonetic Hebrew layouts! Please reply to that Forum post, or here.

Also note that I feel that the mapping of Niqqud vowels to the Latin vowels would be useful? A good counterargument to that is the frequency of Aleph for the A key, and the fact that the Colemak vowel keys are all well placed so they may not deserve the niqqud that aren't always used! I'm thinking about what to do with the remaining vowel keys. Vav/waw is so common that it could actually have two keys (U and V).

Unfortunately, until I feel more confident about a few of these questions I cannot merge your commit. But I'm hoping we can discuss this interesting topic more! For not being able to read Hebrew, I'm quite interested in it. (❁°‿°)

@montdor
Copy link
Author

montdor commented Feb 20, 2021

Hi!

Sorry I didn't see your response earlier. Thank you for your reply, I really have been using the heck out of the angle-mod-dh and loving it, so thank you for all of your work!

To try and address your points:

I don't think that using the <Lat#> key aliases is right. They're supposed to mean that letter, and in this case this is not the case since the key will be used to correspond to Latin letter R etc! I'd much prefer using the positional key names such as then.

That's fair. I'm not very facile at programming in general and keymapping in specific (I struggled for years to get mod keys to work properly with xcape), but I could definitely take some time and convert everything. The way I originally made it when I was using vanilla Colemak was literally copy-pasting the Colemak layout, finding the Hebrew equivalent keys, and putting them where I thought they should go.

Since it's a while back, I don't remember all the decisions Colemak forum user Wrapman and I made in 2017. Could you please take another look at my summary post and comment on what you disagree on there? I remember feeling that Sin/Shin belongs on the S key although as you say their shape fits with the W key. Overall, I'm a bigger fan of phonetic arguments than of shape arguments although both may be useful at times. Maybe these letters can be both places...? And I really feel that we should tap into the power of the AltGr levels (lvl3–4).
https://forum.colemak.com/topic/1458-locale-colemak-variants-for-several-countries-the-edreymar-way/#p19971

Why (I think, at least) the 'standard' phonetic keyboard puts shin/sin on the W key is both because it looks like it and because samech is [s] phonetically and shin/sin is only [s] part of the time; most of the time is [sh] and so doesn't inherently map to S so smoothly over samech.

I think the problem lies in that there's not a one-to-one correspondence of sounds and phonetics between English/other Latin-based writing systems and Hebrew. I think should be a balance between being able to fit the most amount of keys on the keyboard and not overloading people having to remember where they are. For another example there is tet and tav, which both make the sound [t], but tav is more common then tet, so I put it as the shifted key for the mnemonic.

I will definitely look back at the forum and see what I think. I haven't looked at it for some time, admitedly

Which is the phonetic Hebrew keyboard you talk about? If it has ayin on E rather than Y, the only one I know of is the one I found from Kansas University, as shown in my summary Forum post. Please let me know if I missed any good phonetic Hebrew layouts! Please reply to that Forum post, or here.

I very well may be mistaken! It's been years that I've been grandfathering phonetic Hebrew layouts (I started in the early 2000s with a software called Davka Writer that we were required to use for school) and it may be from there that I followed that layout along. I'm not married to that position specifically, but it results from the same problem of having sounds that don't correspond.

Also note that I feel that the mapping of Niqqud vowels to the Latin vowels would be useful? A good counterargument to that is the frequency of Aleph for the A key, and the fact that the Colemak vowel keys are all well placed so they may not deserve the niqqud that aren't always used! I'm thinking about what to do with the remaining vowel keys. Vav/waw is so common that it could actually have two keys (U and V).

So this is an interesting quandary. Nikkud is relatively uncommon in day-to-day life when typing in Hebrew, so I would not prioritize putting it instead of consonant letters, as it were. That being said they may still be used by typists, so they should be accessible (they're not in mine since I rarely use them). I think they would be perfect for shift keys or other modifiers (as you mentioned, use of the AltGr)! Vav is an interesting point since it's used commonly as [v], [u], and [o]. Again, I think this is all a compromise game of where to put things that are most uses in a mostly 'mnemonic' place, so to speak.

Unfortunately, until I feel more confident about a few of these questions I cannot merge your commit. But I'm hoping we can discuss this interesting topic more! For not being able to read Hebrew, I'm quite interested in it. (❁°‿°)

I totally get it! This was honestly just a first effort for me. I'm glad you are interested, since it's relatively niche :) It's a very cool language and I think for those who speak Indo-European languages, the language system is very very cool. That being said, I am a language nerd, so maybe that's just me!

Sorry, just to add: I have a rather large examination coming up relatively soon and have been studying for it. Hopefully I can use this project as my 'de-stressor' once I'm done! So if I don't have a new version for you in the next few weeks, that's why!

@DreymaR
Copy link
Owner

DreymaR commented Feb 22, 2021

Thank you for interesting and thoughtful comments! If you check the Forum topic again, you'll see that I've worked further on the topic. For a non-Hebrew speaker, I must say that I've developed a very keen interest for it!

Niqqud are an interesting quandary, with an interesting possible solution. Yes, some typists don't need them. Others do. And for those who do need them, relying on modifiers for them gets strainful. So far, the solution has been to either use a normal layout without niqqud (or with them relegated to hard-to-reach positions), or use the Biblical SIL layout which is too much for most, putting patah on the A key instead of alef etc.

My proposal is to have alef = A, yod = I, tet = U (it's been put in different places by different layouts but its cousin the Greek θ is on U in my layout) and ayin = Y (as on the Slackware layout). Then, E and O have two dead keys that allow not only niqqud for short and long vowels but also all sorts of other Hebrew-related glyphs such as old punctuation (meteg, paseq, sof pasuq etc) or Yiddish/Ladino characters.

Unfortunately, while I can make such dead keys with relative ease for Windows using the EPKL program I haven't figured out how to edit the X Compose tables robustly. I know it's doable though.

I also had an interesting thought (to me at least) about the Shift key: Several layouts use Shift+letter for the final forms. I've taken it further and added dagesh/mapiq forms to shifted letters! The only letters that have both get two keys each: F/P for fe/pe, and J/K for chaf/kaf. I think that should make it easy to type simple without dagesh/mapiq but also quite simple to type with them!

My goal is still to make a Colemak-based layout. Since the typical Hebrew writer uses a small subset of letters very much, these letters should ideally have special priority in comparison with a Latin layout where more letters are used with lower frequencies:
י (yod 11%), ה (he), ו (vav 10%), ל (lamed 7%), א (alef 6%), ר (resh), ת (tav 5%), ב (bet), מ (mem), ש (shin 4.4%)
I don't see a way to both keep the Colemak base and account well for Hebrew letter frequencies, but I did duplicate alef on Shift+Y and vav on Shift+U to help out a little. Fortunately, AR_T_ H__I_ are on the home row in Colemak, and VLM on the strong index fingers.

I'm in the process of creating an EPKL layout for Hebrew, and while I do it I'm updating the Forum post. Please respond any way you see fit, and again thanks for the feedback!

@montdor
Copy link
Author

montdor commented Aug 8, 2021

OK so, I'm back after a long hiatus. I really am sorry for the delay. It's been a doozy of a six-months.

I looked back at your updated post on the forum and saw that you referenced my pulled; thank you! I literally got excited to see that it was part of the conversation! 🙇

While we think this over, I found another resource that might help (https://www.lexilogos.com/keyboard/hebrew.htm). I am also currently working on converting the original file to keycodes

Back to an issue at hand: should this layout be, basically a "Hebrew Colemak", i.e. an optimized layout geared towards Hebrew or should this be a "Hebrew Keyboard for Colemak Users", i.e. a keyboard with Hebrew letters that match where the Latin keys would be (approximately). I was working on the latter, but I'm happy to also help on the former, of course, if that's the route you want to go in.

There may be a few use cases here aside from the above: is this being used mostly for computer typing or for typesetting Hebrew. For example, there was a comment on using the brackets for some marks, but that would make the keyboard quite inefficient for typing regular computer usage things (messages, URLs, school papers, etc.); on the other hand, someone who is typesetting doesn't really need the brackets.

Do you think there should be two different layouts, one Hebmak (optimized for the Hebrew language) and one that is Latin-Hebrew equivalence?

Tussen takk (that's the best Norwegian I can do on short notice! 😄 )

@DreymaR
Copy link
Owner

DreymaR commented Aug 9, 2021

It's definitely set out to be a Hebrew phonetic Colemak, not a layout optimized for Hebrew. The former is an interesting project but way outside our scope. Someone else should make one. They should have fun, given that a small set of consonants all have very high frequencies. It'll be a different layout, for sure.

My locale layout design goal is usually to allow for a wide range of use cases while keeping in touch with the most common ones. So the common user should be able to use the layout comfortably, but the advanced user should be able to find what they need unless it's very special indeed. For the EPKL Hebmak layout which is what I've been developing of late, the balance I struck was to include niqqudot, Yiddisch and some special marks, but not a full Cantillation mark set.

Please take a look at what I've done over at the EPKL repo and let me know what you think?
https://github.com/DreymaR/BigBagKbdTrixPKL/tree/master/Layouts/Colemak/Cmk-eD-Heb

The Lexilogos board is interesting, but I'm not sure what we should learn from it. Maybe some Compose sequences?

@montdor
Copy link
Author

montdor commented Aug 10, 2021

OK. That's what I understood, I just wanted to make sure we were all on the same page. Thank you!

OK, that's a logical design goal for sure. I will try and follow it as well when working on this.

I'm looking it over now. It looks great! Some comments:

  • I think the places for kaph degusha and kaph without a dagesh are flipped. The kaph degusha makes the "K" sound while the one without the dagesh makes the "KH" sound (though I'm not sure why it's on the J key)
  • Why did you choose the Tet to be on the U key?

More than anything I sent that site over to you so you could see the correlations that they made when making the keyboard, e.g. from the site:
"Use the capitals: H for ח, T for ט, S for צ
Type c for ש
Type c or w for ש
Type c= for שׁ and c== for שׂ
Type a for א and type j for ע
Type a space key to form the final characters: ex. m + [space key] for ם
Type an apostrophe ['] to add the daguesh: ex. b' for בּ
Type a=, a==, a===, i=, i==, i===, u=, u==, u===, u==== to add a diacritic sign for a vowel"

Not that I would say each one should be used as such, but it's a good example of someone using W for Shin that we had discussed before.

Let me know what you think, and what I can do as my next step to help!

@AsafMah
Copy link

AsafMah commented Aug 25, 2023

Hey @montdor this is a couple years old by now, but I wonder if you have made any progress on it?
In general, the default hebrew layout is terrible so I'm looking for any alternatives, so if you're using anything else I'd like to know too.

DreymaR's doesn't really fit me since it's nikkud heavy and I never use it.

@DreymaR
Copy link
Owner

DreymaR commented Sep 1, 2023

Just a note: The special dead keys in my Hebrew layout can produce niqqud for those who want that, sure. But they're also handy for just about anything! In EPKL I use several special custom dead keys and it makes for a great typing experience.

So if you don't want niqqud at all, just use those keys for whatever's useful for you. Highly recommended!

@AsafMah
Copy link

AsafMah commented Sep 3, 2023

@DreymaR Thanks!

I'll try it out, but I do see some other stuff that might not work well with modern hebrew:

  1. Dageshed letters are basically never used (like nikkud), so dedicating keys to כ and פ is not really useful.
  2. Without doing any analysis, from my experience the letter ע is not used very often. I think giving it such a good place is detrimental. I get it's for the phonetics, but ע isn't really related to e much at all anyways.
  3. Again, ה is very common but requires finger movement

So I'm going to try it out with these changes:

  1. Replace ה and ע
  2. Replace כ dgusha with ז (I'm using angled ascii mode, so ז is in the awkard place)
  3. Replace פ dgusha with one-shot mod that causes a final form of letters (ף,ץ,ן,ך). That way I can keep latin letters on shift like in a regular hebrew keyboard.
  4. Replace the nikud keys by moving ' to the right of י and ; to the right of ט

Finally it looks like this:

image

I would love to hear your opinion on this, and I'll let you know how it worked out

@montdor
Copy link
Author

montdor commented Dec 26, 2023

Hey @montdor this is a couple years old by now, but I wonder if you have made any progress on it? In general, the default hebrew layout is terrible so I'm looking for any alternatives, so if you're using anything else I'd like to know too.

DreymaR's doesn't really fit me since it's nikkud heavy and I never use it.

I wrote this whole reply and then closed the tab (smh)

Long story short, I agree with you with having the dgusha versions not be used on the main layer. In terms of the placement of which Latin letter represents which in Hebrew, I amalgamated different schema that I've used over the years with my own menmonics (Aleph editor from many years ago, Microsoft's phonetic layout, Unix's phonetic layout, etc.). As much as ayin isn't related to 'e', I think it's because everything else it's related to is already taken in the phonetic mnemonic (e.g., 'a') and so it had to go somewhere over a vowel since it usually takes such a sound.

@AsafMah
Copy link

AsafMah commented Dec 26, 2023

Screenshot 2023-09-05 093838 For a while I expreminted with creating my own layout using tools and landed on this one. While it's not phonetic, it has nice consistency (vowels on the right side, final letters grouped together etc).

The learning curve is steep, but I have to say that the hebrew QWERTY is so badly designed that trying out this layout (which probably isn't even very optimized) made a much bigger difference than moving from english QWERTY to anything else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants