Commit graph

21 commits

Author SHA1 Message Date
Joshua Ashton
bf61af1f82 ime: Fix local_ime segfault
Error in rebasing
2023-01-12 15:07:12 +00:00
Joshua Ashton
b0f2b7e89f ime: Add support for local IMEs 2023-01-11 21:20:24 +00:00
Joshua Ashton
1c186cd286 ime: Fix warnings on newer compilers
Should unbreak CI.
2023-01-11 19:19:03 +00:00
Joshua Ashton
91fbb22bda wlserver, ime: Port to wlroots 0.16.0
Co-authored-by: Simon Ser <contact@emersion.fr>
2022-11-24 19:56:17 +01:00
Ben Jackson
40cbcd87ef ime: Delay release of last keypress
More closely simulate a human pressing by holding the last (or only) key in
key pressed for 30ms before releasing. The key is released automatically
after the timer expires or just in time before a subsequent injected key.
2022-09-13 10:18:00 -07:00
Simon Ser
3303289afa ime: add move_{up,down} actions 2022-09-13 17:56:33 +01:00
Ben Jackson
5f974de2eb ime: Don't reset to default keymap for actions (enter, etc) if ime keyboard in use 2022-08-23 16:06:26 -07:00
Ben Jackson
8c816a4685 ime: Force Hangul Compat Jamo codepoints to use generic keysyms 2022-07-12 13:11:48 -07:00
Ben Jackson
27ab72ec72 ime: Avoid keymap reset on each injection. 2022-06-14 14:56:56 -07:00
Sam Lantinga
d4bdeb71e2
ime: fix typing the EURO symbol using the on-screen keyboard 2022-04-27 19:03:28 +02:00
Simon Ser
66f603e6c4 ime: use default keymap if possible 2022-03-01 18:46:51 +00:00
Simon Ser
279321fa73 ime: fix utf8_size for the NUL character 2022-03-01 18:46:51 +00:00
Simon Ser
ba32e4df21 ime: add support for actions 2021-10-08 22:55:01 -07:00
Simon Ser
a3ec65ef06 Switch to vendored protocol
We'll implement some more features on top of input-method, so let's
incubate our own protocol for now. We'll give feedback upstream
once we've experimented a bit with this approach.

The protocol is minimal: it just includes the features needed for
gamescope. It's always easier to add new requests/events than to
change existing ones.
2021-10-08 22:55:01 -07:00
Simon Ser
ad26899b20 ime: reset keymap after sending emulated key events
This fixes SteamOS' virtual keyboard.
2021-10-08 22:55:01 -07:00
Simon Ser
6d2b53197e ime: introduce keycode allow-list
Some clients (Chromium…) assume keycodes are always coming from
evdev, and interpret e.g. KEY_ESC directly without using the keymap.
2021-10-08 22:55:01 -07:00
Simon Ser
2ba6eefad8 ime: check for xkb_keysym_get_name errors 2021-10-08 22:55:01 -07:00
Simon Ser
6f26dae77e ime: send void keysym before key sequence
This works around Chromium issues.
2021-10-08 22:55:01 -07:00
Simon Ser
880c87f4c5 ime: disable key repeat
Just in case.
2021-10-08 22:55:01 -07:00
Simon Ser
97623694dc ime: remove unicode keysym name workaround
It seems like xkb_keysym_get_name behaves as expected now.
2021-10-08 22:55:01 -07:00
Simon Ser
49da53db55 Implement a subset of input-method-unstable-v2
This allows a Wayland client to send arbitrary UTF-8 text to the
currently focused X11 client. Useful for virtual keyboards.

We generate a keymap on-the-fly suitable for the text to type.
2021-10-08 22:55:01 -07:00