226f682000455eb013361e06081821c5602700ee
				
			
			
		
	EekBoard - a virtual keyboard for GNOME -*- outline -*-
EekBoard is a virtual keyboard software package which ships with a
standalone virtual keyboard application ("eekboard"), and a library to
create keyboard-like UI ("libeek").
*NOTE* EekBoard is still under heavy development. The code has still a
lot of bugs and lacks documentation.
* How to test
  $ sudo apt-get install libclutter-gtk-0.10-dev libxklavier-dev \
	libfakekey-dev python
  $ git clone git://github.com/ueno/eekboard.git
  $ cd eekboard
  $ ./autogen.sh --prefix=/usr --enable-gtk-doc
  $ make
  $ sudo make install
  $ eekboard
* libeek API (not fixed)
libeek provides only two kinds of objects.  One is "keyboard element"
and another is "keyboard layout engine".  A keyboard element
represents either a keyboard, a section, or a key.  Each element
implements the Builder pattern[1] so that it can be converted into a
UI widget (ClutterActor, GTK+ button, ...).  A layout engine arranges
keyboard elements using information from external configuration
mechanisms (XKB, matchbox-keyboard layouts in XML, ...)
Here is a sample code which utilizes Clutter-based keyboard elements
and an XKB-based layout engine:
 1: EekKeyboard *keyboard;
 2: EekLayout *layout;
 3:
 4: /* Create a keyboard layout using XKB configuration. */
 5: layout = eek_xkb_layout_new (NULL, "kinesis", "in");
 6:
 7: /* Create a keyboard implemented as ClutterActor. */
 8: keyboard = eek_clutter_keyboard_new (640, 480);
 9:
10: /* Apply the layout to the keyboard. */
11: eek_keyboard_set_layout (keyboard, layout);
12: 
13: clutter_group_add (CLUTTER_GROUP(stage),
14: 		       eek_clutter_keyboard_get_actor (EEK_CLUTTER_KEYBOARD(keyboard)));
Footnotes: 
[1]  http://en.wikipedia.org/wiki/Builder_pattern
			
		Description
				
					Languages
				
				
								
								
									Rust
								
								68.3%
							
						
							
								
								
									C
								
								25.7%
							
						
							
								
								
									Meson
								
								2.7%
							
						
							
								
								
									Python
								
								1.9%
							
						
							
								
								
									CSS
								
								1.1%
							
						
							
								
								
									Other
								
								0.3%