95 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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
 |