-
Notifications
You must be signed in to change notification settings - Fork 27
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 Escape
, Henkan
, Muhenkan
keyval names
#47
Conversation
This change and PR ueno#47 (`Escape` keymap) enables us to use "vi-cooperative" keymap. `abort-to-latin` does "`abort`, then change to latin input mode". If the state changes on abort or mode change, key event is consumed. `abort-to-latin-passthrough` does "`abort`, then change to latin input mode, and let key event pass-through". "vi-cooperative" keymap will be achived by config such as the code below: ```json { "include": [ "default" ], "define": { "keymap": { "Escape": "abort-to-latin-passthrough", } } } ``` `abort-to-latin-passthrough` does not consume the key event even if the state changed. So, when the user type "C-j Esc" under the config above, application will receive "Esc" key event, in contrast to `abort-to-latin` command.
This change and PR ueno#47 (`Escape` keymap) enables us to use "vi-cooperative" keymap. `abort-to-latin` does "`abort`, then change to latin input mode". If the state changes on abort or mode change, key event is consumed. `abort-to-latin-passthrough` does "`abort`, then change to latin input mode, and let key event pass-through". "vi-cooperative" keymap will be achived by config such as the code below: ```json { "include": [ "default" ], "define": { "keymap": { "Escape": "abort-to-latin-passthrough", } } } ``` `abort-to-latin-passthrough` does not consume the key event even if the state changed. So, when the user type "C-j Esc" under the config above, application will receive "Esc" key event, in contrast to `abort-to-latin` command.
Escape
keyval nameEscape
, Henkan
, Muhenkan
keyval names
Add names |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change itself looks good, though we would need to find a way to map these keysyms to lshift/rshift for NICOLA. Also, for the long run, it might make more sense to switch to using binary search on the keysym table provided by libxkbcommon:
ueno/libkkc@0bfe596
This change and PR ueno#47 (`Escape` keymap) enables us to use "vi-cooperative" keymap. `abort-to-latin` does "`abort`, then change to latin input mode". If the state changes on abort or mode change, key event is consumed. `abort-to-latin-passthrough` does "`abort`, then change to latin input mode, and let key event pass-through". "vi-cooperative" keymap will be achived by config such as the code below: ```json { "include": [ "default" ], "define": { "keymap": { "Escape": "abort-to-latin-passthrough", } } } ``` `abort-to-latin-passthrough` does not consume the key event even if the state changed. So, when the user type "C-j Esc" under the config above, application will receive "Esc" key event, in contrast to `abort-to-latin` command.
This change and PR ueno#47 (`Escape` keymap) enables us to use "vi-cooperative" keymap. `abort-to-latin` does "`abort`, then change to latin input mode". If the state changes on abort or mode change, key event is consumed. `abort-to-latin-passthrough` does "`abort`, then change to latin input mode, and let key event pass-through when no input string is discarded". "vi-cooperative" keymap will be achived by config such as the code below: ```json { "include": [ "default" ], "define": { "keymap": { "Escape": "abort-to-latin-passthrough", } } } ``` `abort-to-latin-passthrough` does not consume the key event even if the state changed. So, when the user type "C-j Esc" under the config above, application will receive "Esc" key event, in contrast to `abort-to-latin` command.
This change and PR ueno#47 (`Escape` keymap) enables us to use "vi-cooperative" keymap. `abort-to-latin` does "`abort`, then change to latin input mode". If the state changes on abort or mode change, key event is consumed. `abort-to-latin-passthrough` does "`abort`, then change to latin input mode, and let key event pass-through when no input string is discarded". "vi-cooperative" keymap will be achived by config such as the code below: ```json { "include": [ "default" ], "define": { "keymap": { "Escape": "abort-to-latin-passthrough", } } } ``` `abort-to-latin-passthrough` does not consume the key event even if the state changed. So, when the user type "C-j Esc" under the config above, application will receive "Esc" key event, in contrast to `abort-to-latin` command.
So, at this time (in this PR), b543ed1 (lshift/rshift rename) should be reverted (or resetted)? |
By this change, "Escape" can be used to represent escape key in keymap rules.
This will solve the issue ueno#38.
…shift`" This reverts commit b543ed1. NICOLA wants "lshift" and "rshift" keysyms. See <ueno#47 (review)> for detail.
By this way, "lshift" and "rshift" keyval names are preserved, and "Muhenkan" and "Henkan" can be used in typing rules config.
b543ed1
to
75648cf
Compare
Reverted the change of keysyms mapping, and added (temporary) workaround. This logic is (currently) only used to load keymap rules and to emulate key sequences by string, |
This change and PR #47 (`Escape` keymap) enables us to use "vi-cooperative" keymap. `abort-to-latin` does "`abort`, then change to latin input mode". If the state changes on abort or mode change, key event is consumed. `abort-to-latin-passthrough` does "`abort`, then change to latin input mode, and let key event pass-through when no input string is discarded". "vi-cooperative" keymap will be achived by config such as the code below: ```json { "include": [ "default" ], "define": { "keymap": { "Escape": "abort-to-latin-passthrough", } } } ``` `abort-to-latin-passthrough` does not consume the key event even if the state changed. So, when the user type "C-j Esc" under the config above, application will receive "Esc" key event, in contrast to `abort-to-latin` command.
#54 is merged and it enables the keys to be mapped, so closing this PR. |
By this change, "Escape" can be used to represent escape key in keymap rules.