-
-
Notifications
You must be signed in to change notification settings - Fork 108
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
Greek accent / dead key support #815
Conversation
Adding a property that cannot ever be valid is not a reasonable approach. |
If you don't mind can you explain this a bit more? I don't understand what you mean by 'cannot ever be valid'.
Unfortunately there are languages that do use modifier letters as actual characters, for example Skolt Sami which uses Modifier Letter Prime (U+02B9). I don't think it's something we can infer from the code itself. Ideally the keyboard should be able to output any character, so automatically intercepting some characters will make this impossible. This is why I think a good solution would be to mark a key as a dead key in some way. If adding that to the keyboard JSON is not reasonable, please suggest a better way to do it. |
Alright, then we can use the normal characters for combining (like on a hardware keyboard).
Sorry, I wasn't clear here, it depends on the key. If you have a |
I don't know what exactly you mean by 'normal' characters, but if you mean characters such as ^, ~ and ` (in ASCII), the keyboard has to be able to input them independently so we can't automatically intercept them. We can add a check as to which characters can be dead keys, but I don't think it is critical, because we can ensure that only correct keys are dead keys in our built in layouts, and even if someone makes an invalid key as a dead key in a custom layout, it doesn't have any effects like crashing the program, it only inverts the order of input. However I will look into checking for invalid dead keys. |
Added a check for invalid dead keys. |
Any update on this? |
Seems like in the code, any key with a combining accent code in a physical keyboard layout is treated as a dead key, I will modify this to do the same. |
…ent key a dead key
cd93fa4
to
da325fc
Compare
Fix #760. Dead keys can be used in any JSON layout, by adding
"isDeadKey": true
to a key containing an accent character, for example{ "label": "´", "isDeadKey": true }
.Unfortunately it's not perfect.
Issues: