41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
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
|