a93b84c32ec7512c017dc155526cb554f0336d8f
eekboard - an easy to use virtual keyboard toolkit -*- outline -*-
eekboard is a virtual keyboard software package, including a set of
tools to implement desktop virtual keyboards.
* How to build
** Dependencies
REQUIRED: GLib2, GTK, GConf2, PangoCairo, libxklavier
OPTIONAL: fakekey, CSPI, Clutter, Clutter-Gtk, Vala, gobject-introspection
** Build from git repo
$ git clone git://github.com/ueno/eekboard.git
$ cd eekboard
$ ./autogen.sh --prefix=/usr --enable-gtk-doc
$ ./configure
$ make
* How to test
eekboard currently includes 4 tools to implement your own virtual
keyboard:
- eekboard-server
a D-Bus server which draws interactive on-screen keyboards.
- eekboard-client
a test client of eekboard-server.
- eekboard-system-client
another client of eekboard-server. It listens system events (focus
change, keystroke, and keyboard change) and generates X key events
when some keys are pressed on the on-screen keyboard.
- eekboard-xml
a tool to dump the current system keyboard layout into an XML file.
It's also capable of loading an XML file and displaying the layout.
** Test with eekboard-client
Start eekboard-server:
$ ./src/eekboard-server &
Dump the current system keyboard layout into an XML file:
$ ./src/eekboard-xml --dump > keyboard.xml
(Optional) you can check the layout with:
$ ./src/eekboard-xml --load keyboard.xml
Access to eekboard-server:
$ ./src/eekboard-client --set-keyboard keyboard.xml
$ ./src/eekboard-client --show # will pop up a keyboard window
$ ./src/eekboard-client --listen # press some keys on the keyboard
KeyPressed XXXXX
KeyReleased XXXXX
$ ./src/eekboard-client --set-group 1
$ ./src/eekboard-client --press-key 65
$ ./src/eekboard-client --release-key 65
** Test with eekboard-system-client
NOTE: eekboard-system-client is now being heavily developed and it may
behave wrongly. Make sure to close windows where you are doing any
important work, before running eekboard.
Start eekboard-server:
$ ./src/eekboard-server &
Start eekboard-system-client
$ ./src/eekboard-system-client \
--listen-keyboard \
--listen-focus \
--generate-key-event
Where:
--listen-keyboard is to monitor system keyboard state/config change,
--listen-focus is to track focus change, and
--generate-key-event is to generate X key events on virtual
key-press/key-release events.
* Documentation
See file:docs/reference/eek/html/index.html
Description
Languages
Rust
68.3%
C
25.7%
Meson
2.7%
Python
1.9%
CSS
1.1%
Other
0.3%