-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
Ability to disable some dead keys #5784
Comments
This doesn't seem entirely unreasonable to me. We might want to workshop how we specify these keys in json, but I think the idea sounds valid. I'm gonna summon our keyboard layout expert @lhecker to see if he's got any thoughts on the matter (sorry for the long silence) |
Thanks a lot for looking into this ! |
I had the idea of adding a command called "passthrough" to the keybindings. |
Ah! I forgot about this issue! While it's slightly cumbersome I believe this functionality can now be achieved in the v1.3 preview version using the new |
It's working great ! The only issue now is that there is no way to register |
The current key bninding interface doesn't make a distinction between left and right Ctrl/Alt. |
Actually, there's an issue: it seems the dead key are not consumed (which is the whole point of this issue), even if made a shortcut.
If i then press once the
|
I'll investigate this. 👍 |
Let's assume the user has bound the dead key ^ to a sendInput command that sends "b". If the user presses the two keys ^a it'll produce "bâ", despite us marking the key event as handled. We can use `ToUnicodeEx` to clear such dead keys from the keyboard state and should make use of that for keybindings. Unfortunately `SetKeyboardState` cannot be used for this purpose as it doesn't clear the dead key state. Validation * Enabled a German keyboard layout * Added the following two keybindings: { "command": { "action": "sendInput", "input": "x" }, "keys": "q" }, { "command": { "action": "sendInput", "input": "b" }, "keys": "^" } * Pressed the following keys → ensured that the given text is printed: * q → x * ´ → nothing * a → á * ^ → b * a → a (previously this would print: â) * ´ → nothing * ^ → b * a → a (unfortunately we cannot specifically clear only ^) Closes #5784
Thanks a lot for your work on this !!! |
Let's assume the user has bound the dead key ^ to a sendInput command that sends "b". If the user presses the two keys ^a it'll produce "bâ", despite us marking the key event as handled. We can use `ToUnicodeEx` to clear such dead keys from the keyboard state and should make use of that for keybindings. Unfortunately `SetKeyboardState` cannot be used for this purpose as it doesn't clear the dead key state. Validation * Enabled a German keyboard layout * Added the following two keybindings: { "command": { "action": "sendInput", "input": "x" }, "keys": "q" }, { "command": { "action": "sendInput", "input": "b" }, "keys": "^" } * Pressed the following keys → ensured that the given text is printed: * q → x * ´ → nothing * a → á * ^ → b * a → a (previously this would print: â) * ´ → nothing * ^ → b * a → a (unfortunately we cannot specifically clear only ^) Closes #5784 (cherry picked from commit 4099aac)
🎉This issue was addressed in #7686, which has now been successfully released as Handy links: |
🎉 Handy links: |
🎉This issue was addressed in #7686, which has now been successfully released as Handy links: |
🎉 Handy links: |
Description of the new feature/enhancement
Feature: Ability to disable SOME dead keys.
Motivation
It might be hard to understand for people who have sensible layouts, but many keyboard layouts have dead keys that are very cumbersome when programming.
I personally use the terminal on the daily, and the tilde ~ is used a lot in Linux. On my AZERTY default layout, ~ acts as a dead key: i need to type it then add a space to get a single ~. See the layout below
~
needsALTGR + 2 + space
. This is exhausting. We also have a dead^
that could use this feature.Notes
Do people also want that
For the user, It could be as simple a config value to disable dead keys using their key codes (?) such as
Thanks a lot for you time, the Terminal is absolutely amazing and it just keeps getting better ! Cheers
The text was updated successfully, but these errors were encountered: