Linux/x11 input handling (#7811)

Implements the basics of keyboard and mouse handling.
Some keys will need special treatment, like Backspace/Delete. In this
PR, all keys are treated as append-only. Leaving this for a follow-up.

I used @gabydd 's branch as a reference (thank you!) as well as
https://github.com/xkbcommon/libxkbcommon/blob/master/doc/quick-guide.md
For future work, I'll also use
https://github.com/xkbcommon/libxkbcommon/blob/master/tools/interactive-x11.c

All commits are separately compileable and reviewable.

Release Notes:
- N/A

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>
This commit is contained in:
Dzmitry Malyshau 2024-02-15 11:58:47 -08:00 committed by GitHub
parent aa319ccfd0
commit a41fb29e01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 253 additions and 53 deletions

View file

@ -12,6 +12,7 @@ if [[ -n $apt ]]; then
libfontconfig-dev
vulkan-validationlayers*
libwayland-dev
libxkbcommon-x11-dev
)
$maysudo "$apt" install -y "${deps[@]}"
exit 0
@ -26,6 +27,7 @@ if [[ -n $dnf ]]; then
fontconfig-devel
vulkan-validation-layers
wayland-devel
libxkbcommon-x11-devel
)
$maysudo "$dnf" install -y "${deps[@]}"
exit 0
@ -40,6 +42,7 @@ if [[ -n $pacman ]]; then
fontconfig
vulkan-validation-layers
wayland
libxkbcommon-x11
)
$maysudo "$pacman" -S --needed --noconfirm "${deps[@]}"
exit 0