add evfb (evdev + fbdev) backend

Outside of a terminal emulator or web browser, this typing experience
can be useful outside the DE, such as in the TTY or when entering a
password for full-disk encryption. Add a target that uses the bare
hardware to allow the keyboard to be deployed in more flexible
environments.
This commit is contained in:
Richard Acayan 2025-07-21 19:01:23 -04:00
parent 9b893e474d
commit 7b38edb656
12 changed files with 866 additions and 0 deletions

View file

@ -6,6 +6,7 @@ license = "GPL-3.0-only"
[dependencies]
ashpd = { version = "0.11", features = ["wayland"] }
evdev = "0.13"
fontconfig = "0.9"
# Disable freetype-sys, as it vendors libfreetype2 while fontconfig dynamically
# links to it. Large dependencies should not be duplicated.
@ -13,10 +14,12 @@ freetype = { version = "0.7", default-features = false }
futures-util = "0.3"
imgref = "1"
libc = "0.2"
linux-raw-sys = { version = "0.9", features = ["ioctl"] }
memmap2 = "0.9"
polling = "3"
reis = "0.4"
rgb = "0.8"
signal-hook = "0.3"
tokio = { version = "1", features = ["macros", "rt"] }
wayland-backend = "0.3"
wayland-client = "0.31"
@ -30,6 +33,10 @@ zbus = { version = "5", default-features = false, features = ["tokio"] }
[build-dependencies]
bindgen = "0.71"
[[bin]]
name = "ufkbd-evfb"
path = "src/ufkbd_evfb.rs"
[[bin]]
name = "ufkbd-gnome"
path = "src/ufkbd_gnome.rs"