Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: anko/xkbcat

Tags

v2.2.1

Toggle v2.2.1's commit message
Use group 0 if current group contains no keysym

Fixes #5, perhaps fully this time.

It seems non-zero keysym groups work such that if no keysym is defined
in it, the default 0 group's keysym is assumed.

In other words, common keys that would otherwise just be duplicated in
the group's definition, such as Return, Backspace, Delete, Shift, Space,
or the numpad keys, just have no symbol mapped to them at all in the
group (XkbKeycodeToKeysym returns NoSymbol).  In such cases, it seems
the receiving program is expected to just fall back to group 0 and read
the keysym from there instead.

This is about XKeycodeToKeysym, but XkbKeycodeToKeysym which we're using
(note the different prefix) seems to function the same:
https://stackoverflow.com/questions/54483276/xkeysymtokeycode-and-keyboard-layout

This seems to be correct with the keyboard layouts I've tested.

- - -

Other Xlib users have replaced XKeycodeToKeysym with XGetKeyboardMapping
instead.  These patches to that effect imply XKeycodeToKeysym is
deprecated:

- https://lists.freedesktop.org/archives/piglit/2012-January/001795.html
- ArcticaProject/nx-libs@c79f2d2

XkbKeycodeToKeysym is not deprecated though, and seems a much better fit
here than doing heap allocations in a loop, so I'll go with it.

v2.2.0

Toggle v2.2.0's commit message
Support switching keyboard layouts

As noted in issue #5, xkbcat would previously not react at all to
keyboard layout changes; it would continue to print keysyms according to
the first keyboard layout X was started with.

Keyboard keysym group changes (i.e. keyboard layout changes) are
listened to as separate events, so if you only use 1 layout, this causes
no performance overhead.

Closes #5.

Thanks to @unxed for very helpful research.

v2.1.5

Toggle v2.1.5's commit message
Readme: Minor wording clarifications

v2.1.4

Toggle v2.1.4's commit message
Tidy: Better comments, scope tempvars, better errs

Maintenance.  No functionality changes.

v2.1.3

Toggle v2.1.3's commit message
Merge branch 'travis-update' (Focal + gcc fix)

Fixes #4.

v2.1.2

Toggle v2.1.2's commit message
Readme: Not quite "<100" lines anymore, but relax

v2.1.1

Toggle v2.1.1's commit message
Merge branch 'travis-not-again'

v2.1.0

Toggle v2.1.0's commit message
Compile to C99 instead of GNU11

Simpler, now that we don't need the time structs anymore.

v2.0.0

Toggle v2.0.0's commit message
Remove "-time": instead recommend an external tool

Undoing my unnecessary feature creep.

v1.0.1

Toggle v1.0.1's commit message
Flush on write

Ensures that all output is received immediately if it's being piped.