Files
squeekboard/README
2010-06-07 08:27:08 +09:00

54 lines
1.7 KiB
Plaintext

eek - easy embedded keyboard -*- outline -*-
*NOTE* This is not usable by now. The code has still a lot of bugs and
lacks documentation.
* Quick look
http://ueno.fedorapeople.org/eek/eek-in-demo.ogv (2MB, Ogg Theora video)
* How to test
$ git clone git://github.com/ueno/eek.git
$ cd eek
$ ./autogen.sh --prefix=/usr --enable-gtk-doc
$ make
$ ./examples/eek-clutter-xkb-test --geometry=kinesis --symbols=in
* API (not fixed)
eek provides two different 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), CLUTTER_ACTOR(keyboard));
To use GTK+-based keyboard elements instead of Clutter, simply replace
line 8 and 13 with:
8: keyboard = eek_gtk_keyboard_new ();
13: gtk_container_add (GTK_CONTAINER(window), GTK_WIDGET(keyboard));
Footnotes:
[1] http://en.wikipedia.org/wiki/Builder_pattern