-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add more detailed explanation, and contribution instructions #4
Comments
First of all, thanks for chiming in! // ----------- czech dvorak ltgt, 1. and 2. level
// Ú É Á Ó Ě Ů Ý Ď Í Č Ř Š Ž
// ú é á ó ě ů ý ď í č ř š ž
//
// " < > P Y F G C R L ? Ť Ň
// ' , . p y f g c r l / ť ň
//
// A O E U I D H T N S _ LF
// a o e u i d h t n s - LF
//
// : Q J K X B M W V Z
// ; q j k x b m w v z (from https://github.com/dumblob/ULKL/blob/master/platform/x11/symbols/czed ) By "same finger" I meant the same finger but a different physical key 😉.
That is in TODO (in the readme) for years and I did not get to it. Will try to prioritize it now when you came here 😉. Actually feel free to restructure readme to be comprehensible for newcomers - it has never been done and became a pile of mess due to my lack of time.
Good idea, thanks! Will do. Btw. I use these layouts (us, de, cz, fi) on all computers I use (at work, at home, at friends places, etc.). They saved me already so much time and trouble. |
Done 😉 (see https://github.com/dumblob/ULKL#contributions ). |
Nice, that was fast! So, now that I understand this better, I realize it's actually a different (i.e. non-QWERTY) layout! I'll be honest, I'm way too lazy to learn a new layout so it's unlikely that I'll create one for Portuguese sweat_smile Currently what I do is edit In any case, I believe these contribution instructions will allow others to contribute, so hopefully this interaction has been a net positive regardless :) |
Thanks - this is a very important point for me. Up until today I thought that the inaccessibility of certain characters is so much problematic that it easily outweights learning a new layout.
I see. I am considering using this info to build a portugese layout
It definitely is! A new idea struck me now thanks to your "laziness" 😉 (see, laziness yields innovations!). How about extending this project to use QWERTY as an alternative "base"? I chose But it is much more important to offer the multilingual comfort over forcing one to learn another layout (even if it is much better). Do you think you could create QWERTY will require more "overloading" as it is not crafted to spread the finger load across fingers (unlike dvorak, halmak, workman, ...) but that is literally nothing compared to needing to use dead characters (i.e. type one or more whole additional strokes which are super difficult to reach to make matters worse) all the time to write a letter with diacritic marks. |
I would definitely consider using a (Btw, I should point out that my current tweaks are not that many, and they have been made on an on-demand basis, so the result isn't really a wholly considered layout.) |
That is a very good question. I would very much like to make it easier for others to create ULKL layouts. Actually the original plan 14 years ago was to prepare all existing layouts in one step and thus no contributions from others would be needed 😉. That would avoid any such needs. It did not happen apparently - there are only 4 layouts so far 😉 (but I will do a Dutch one soon I think as I am about to start learning Dutch). Back then I was fed up with this "sharing of pieces" among layouts (inheritance, etc.) because that is full of surprises for end users ("Wtf? I just pressed this and this happened."). So I deliberately crafted existing ULKL layouts in a way it is impossible or highly improbable to produce any other character than the ones defined by ULKL explicitly (see layout "visualizations" at the top of each definition file - e.g. ULKL/platform/x11/symbols/czed Lines 45 to 56 in e867c10
But as I understand your request, it is basically just about lowering the burden for newcomers to make a ULKL layout. This though does not necessitate any code sharing on the lowest level. It is enough if there was some automation of the contribution steps I described - e.g. take an existing layout and just remove the layout-specific diacritic marked letters and maybe even pregenerate the whole alphabet as a comment to make it easier for the creator to just take them and assign to logical places. OTOH reading what I wrote, it is not much work to do all these automatable steps manually. I do not have any QWERTZ baseline (there is only dvorak baseline) but I can create one in no time for you (including a portugese alphabet). May I or did you have something else in mind? |
As long as adapting the base layout to Portuguese would entail simply copying the QWERTY (or QWERTZ) file and making changes in the keys to be replaced, sure. But thinking about this some more, I'm not really sure that my tweaks would justify a separate layout. The only keys I have replaced in the base or shift levels are The other changes I made are all in the AltGr or Shift+AltGr levels, since I do need the characters in those keys' base and shift levels. For example, I changed the |
👍
Correct. Though with QWERTZ I meant the US QWERTZ and not the Portugese QWERTZ. I also think we can skip certain QWERTZ layout characters in 1st and 2nd levels if there is utter need to do so (especially with punctuation characters - the guiding principle could be looking at the top row of dvorak and all those special characters/symbols could be omitted from the QWERTZ ULKL base 1st & 2nd levels as they are omitted from dvorak ULKL and make them appear only in 3rd & 4th levels as is the case in dvorak ULKL). Thoughts? |
Btw. regarding em dash and en dash there is a general consensus that either |
Why US? And why QWERTZ and not QWERTY? Not that I have strong preferences otherwise, I'm just curious.
Hm, could you give me an example or two of such symbols that would be moved to 3rs/4th levels? |
Well, except for "QWERTZ" layout, all latin-based alphabets have layouts based on US with no changes to alphabet characters (there are sometimes very significant changes to symbols, dead characters, etc. but this is exactly what we want to unify across all latin-based alphabets, so I have to choose something and US is undoubtedly the best supported layout in the world considering QWERTY comes from USA; there is even a small historical relation between US QWERTY and ASCII table 😉).
That was a typo, of course I meant QWERTY all the time 😉. As I write dvorak, I needed to look at the (non-dvorak) labels on my physical keyboard to type the sequence. But as it turns out I do not have the US keyboard but a German keyboard here which is QWERTZ and not QWERTY 😆. That is the side effect of writing with a unified principle - one forgets how the physical keyboards look like disregarding which one it is 😉.
The So the list of sacrificed characters from 1st level (i.e. those moved to 3rd level of other physical keys in ULKL) are: And the list of sacrificed characters from 2nd level (i.e. those moved to 3rd level of the same physical keys in ULKL) are: So in QWERTY we should sacrifice the very same choice of physical keys (disregarding which characters are there on the US QWERTY). |
Thanks for the explanations! Ok, so I think I've got a reasonable grasp of what these layouts are supposed to look like. Honestly, I wouldn't be willing to give up convenient access to some keys (like numbers and parenthesis) just to access language-specific diacritics that I can already produce with dead keys plus the base letters. Especially because in Portuguese, the diacritics are almost exclusively placed in the vowels, and there are multiple posssible diacritics per vowel (E has two, and A/O have three — or four if you count ª/º). In contrast, for Czech, looking at the So in Portuguese IMO it makes more sense to use the dead key system to make combinations, rather than hardcode all the diacritical combinations to make them accessible with dedicated keys — doing so would put the accented letters in unintuitive places, and would displace most of the symbols out of the first and second levels. The trade-off doesn't seem to be worth it, IMO. If anything, I would go in the opposite direction (probably because I am a programmer): make symbols that are commonly used in source code, like And here's what I customized it to be, courtesy of Below are the actual edits I made relative to the default layout that came with my system to produce the custom layout shown above: |
I checked it now and I think this would work pretty well:
(of course, you should now decide which of The result is only 4 characters not being written by the same finger (same finger is the single major decisive factor for unification). In
Oh, this is the huge misunderstanding 😉. The ultimate goal of ULKL is to switch between alphabet layouts for different workflows or parts of text (and not think about the layout differences - that is the power of unified layouts!). Yay, get modal with layouts! This avoids all the trade-offs you talk about 😉. For programming I use Yes, there are always 2 variants of an ULKL layout - the default and the In practice though I rarely used the |
Oh, I see, the idea is not to use the same layout all the time, but switch between layouts depending on the usage. I'm still not sure I see myself switching to this system, given that it would require retraining my habits 😅 In any case, if it helps, for Portuguese the order would be roughly a > á > ã > à > â and o > ó > õ > ô. |
I'm a little confused as to how this layout is supposed to work. The README says
...but I don't understand how one does then disambiguate between typing c and č. Can you explain in a bit more detail how one would use this layout in practice? A diagram or two would probably be helpful, too.
Also, it would be nice to have contribution instructions so that people could contribute to the project.
The text was updated successfully, but these errors were encountered: