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