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

Actions/locks xkb extension v2 #485

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

wismill
Copy link
Member

@wismill wismill commented Jul 5, 2024

This is a rework of #446, based on the observations of #484.

  • Add new keymap format XKB_KEYMAP_FORMAT_TEXT_V1_1
  • Add new option lockOnRelease for LockGroup. It locks the group on release rather than press as in the protocol. Intended to fix issue for group lock on e.g. shift+alt. It is the default for XKB_KEYMAP_FORMAT_TEXT_V1_1, so that it fixes the issue with the xkeyboard-config files unchanged.
  • Add new option unlockOnPress for LockMods. It unlocks the modifiers on second press rather than the second release, as in the protocol. Intended to fix issue with CapsLock for fast typists. It is the default for XKB_KEYMAP_FORMAT_TEXT_V1_1, so that it fixes the issue with the xkeyboard-config files unchanged.
  • Add corresponding tests.
  • Add --format options to tools, in order to select the keymap format for parsing and serializing.

A lot of files are affected, but hopefully it is easier to review per commit.

TODO:

  • Check that there is no corner case with the new defaults for XKB_KEYMAP_FORMAT_TEXT_V1_1.
  • Changelog entries

This requires rebasing once #484 is merged.

wismill added 2 commits July 5, 2024 09:45
Add the following API:
- `xkb_keymap_supported_formats`
- `xkb_keymap_is_supported_format`
Currently `xkb_keymap_new_from_names` does not allow to specify the
keymap format, so provide a new function `xkb_keymap_new_from_names2`.
wismill added 7 commits July 5, 2024 11:46
Allow to choose the exact formats for parsing and serializing.
This is an extension to XKB, to allow to use the combination Control +
Shift *alone* to switch layouts, while keeping the use of Control +
Shift + some other key (typically for keyboard shortcuts).

This is really useful for people coming from other platform, such as
Windows.
This is an extensions to XKB. It intends to allow to deactivate CapsLock on press
rather than on release, as in other platforms such as Windows.
@wismill wismill force-pushed the actions/locks-xkb-extension-v2 branch from 18cf4d7 to 2a47e13 Compare July 5, 2024 09:47
@wismill wismill added X11 legacy: limitations Indicates a need to lift legacy X11 limitations state Indicates a need for improvements or additions to the xkb_state API labels Jul 12, 2024
@wismill wismill mentioned this pull request Oct 11, 2024
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state Indicates a need for improvements or additions to the xkb_state API X11 legacy: limitations Indicates a need to lift legacy X11 limitations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant