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 \ --listen-keystroke \ --generate-key-event Where: --listen-keyboard is to monitor system keyboard state/config change, --listen-focus is to track focus change, --listen-keystroke is to track keystroke events, 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