No description
Find a file
2024-04-15 22:11:20 -04:00
include initial commit 2024-04-15 22:11:20 -04:00
wayland initial commit 2024-04-15 22:11:20 -04:00
graphics.c initial commit 2024-04-15 22:11:20 -04:00
input.c initial commit 2024-04-15 22:11:20 -04:00
keymap.c initial commit 2024-04-15 22:11:20 -04:00
layout.c initial commit 2024-04-15 22:11:20 -04:00
main.c initial commit 2024-04-15 22:11:20 -04:00
meson.build initial commit 2024-04-15 22:11:20 -04:00
modifier.c initial commit 2024-04-15 22:11:20 -04:00
parser.c initial commit 2024-04-15 22:11:20 -04:00
README.md initial commit 2024-04-15 22:11:20 -04:00

The unfettered keyboard is an on-screen keyboard designed for Linux mobile. It uses the concept of Julow's 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 - 🌿 Fast streaming XML parser written in C99 with >90% test coverage
  • fcft - A simple library for font loading and glyph rasterization using FontConfig, FreeType and pixman.
  • meson - The Meson Build System
  • pixman - Image processing and manipulation library
  • wayland - Core Wayland window system code and protocol
  • xkbcommon - 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