Commit Graph

11 Commits (ccc582cd58ccfaebd9ac677e50bd5efb6e682900)

Author SHA1 Message Date
Greg V ccc582cd58 keyboard: allocate shm with *actually* correct size
strlen returns "the number of characters that precede the terminating NUL".
We do need to send the \0 byte, since xkbcommon on the receiving end
*is* expecting a C string. And e.g. wlroots does strlen+1.
2020-04-09 15:37:18 +03:00
Greg V 720b127dee keyboard: allocate shm with correct size
This was working on Linux because shm_open there returns a regular file,
but this is required on FreeBSD where shm_open returns a memory-backed fd.
2020-04-06 00:26:22 +03:00
Andri Yngvason e6b1ca8044 keyboard: Assign state to keys rather than symbols
The keys are pressed and released, not the symbols. This fixes tracking
of the state of a key through modifier changes. E.g. A capital 'A' may
be received from the client while the shift key is pressed, but if the
shift key is released before the 'a' key, the 'a' symbol is generated.
2020-01-25 13:19:08 +00:00
Andri Yngvason 48907682c7 keyboard: Fix modifier lookup 2020-01-20 21:15:04 +00:00
Andri Yngvason 5731ea4666 keyboard: Add bounds checking on keycode lookup 2020-01-19 12:43:48 +00:00
Andri Yngvason e2079a7e56 keyboard: Don't send repeated events to server
This caused the virtual key to get "stuck" in the pressed position and
then to stop working at all. It's definitely a bug on the server side
also.
2020-01-15 20:34:56 +00:00
Andri Yngvason 476854aeaf keyboard: Remove debug printout 2020-01-03 20:42:40 +00:00
Andri Yngvason 990e57fa89 keyboard: Improve key code lookup
The shift level for each symbol is now included in the lookup table, so
it's more robust for various keyboard layouts.
2020-01-03 20:03:02 +00:00
Andri Yngvason 2b00400b8a Add option to select keyboard layout 2019-12-30 10:15:12 +00:00
Andri Yngvason 5c7f941481 keyboard: Add some acknowledgements 2019-12-25 11:45:07 +00:00
Andri Yngvason b2bbc9ac0b Implement keyboard backend 2019-12-25 11:05:05 +00:00