rewrite in rust

This commit is contained in:
Richard Acayan 2024-07-18 20:32:55 -04:00
parent d43f61ec76
commit 4a6b261be0
51 changed files with 3104 additions and 9319 deletions

View file

@ -1,41 +0,0 @@
The unfettered keyboard is an on-screen keyboard designed for Linux mobile. It
uses the concept of Julow's [Unexpected Keyboard](https://github.com/Julow/Unexpected-Keyboard),
where swiping on a displayed key cap produces a different key press. For
example, swiping up and right on the "q" key generates a "1" keypress. This
makes it possible for many keys to be available on the same keyboard layout.
# Dependencies
The dependencies are:
- [expat](https://github.com/libexpat/libexpat) - 🌿 Fast streaming XML parser written in C99 with >90% test coverage
- [fcft](https://codeberg.org/dnkl/fcft) - A simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman.
- [meson](https://github.com/mesonbuild/meson) - The Meson Build System
- [pixman](https://gitlab.freedesktop.org/pixman/pixman) - Image processing and manipulation library
- [wayland](https//gitlab.freedesktop.org/wayland/wayland) - Core Wayland window system code and protocol
- [xkbcommon](https://github.com/xkbcommon/libxkbcommon) - keymap handling library for toolkits and window systems
Additionally, fonts are needed to render the following Unicode, non-ASCII symbols:
- ← (U+2190)
- ↑ (U+2191)
- → (U+2192)
- ↓ (U+2193)
- ⇧ (U+21E7)
- ⌦ (U+2326)
- ⌫ (U+232B)
- ⏎ (U+23CE)
- ⭾ (U+2B7E)
# Usage
This keyboard is designed to work, but it is not designed to be used. Using it
is awkward:
$ meson setup build
$ ninja -C build
$ curl -L -o /tmp/bottom_row.xml https://github.com/Julow/Unexpected-Keyboard/raw/master/res/xml/bottom_row.xml
$ curl -L -o /tmp/latn_qwerty_us.xml https://github.com/Julow/Unexpected-Keyboard/raw/master/srcs/layouts/latn_qwerty_us.xml
$ sudo mkdir /usr/share/unfettered-keyboard/layouts
$ sudo cp /tmp/bottom_row.xml /tmp/latn_qwerty_us.xml /usr/share/unfettered-keyboard/layouts
$ build/ufkbd