Compare commits
20 Commits
eekboard-0
...
eekboard-0
| Author | SHA1 | Date | |
|---|---|---|---|
| 84cdf6ec78 | |||
| 4623d78e0d | |||
| 89cc9ffa46 | |||
| 27ddc144e0 | |||
| 6e54383d1d | |||
| e955bb11fa | |||
| f08c926945 | |||
| fdb083bb12 | |||
| e604e6af22 | |||
| 9aabdc0812 | |||
| a388d9e6e1 | |||
| 4dab7af44d | |||
| 60a0c199eb | |||
| de7f31f067 | |||
| ae4e29a968 | |||
| f50a8a98f4 | |||
| b3903bcc7f | |||
| bc38ac837b | |||
| c2c1a79046 | |||
| b902e759cb |
@ -17,4 +17,5 @@
|
||||
# 02110-1301 USA
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
SUBDIRS = eek src tests docs po
|
||||
SUBDIRS = eek src tests bindings docs po
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
|
||||
|
||||
7
TODO
7
TODO
@ -6,7 +6,14 @@
|
||||
|
||||
- eekboard
|
||||
-- a11y
|
||||
-- display current configuration
|
||||
-- add command line options
|
||||
-- notify user if there is no focused window
|
||||
|
||||
- libeek
|
||||
-- matchbox-keyboard layout engine
|
||||
-- delay initialization of XKB and XKL layouts
|
||||
-- add eek_keyboard_find_by_position(), that takes account of section
|
||||
rotation, in addition to eek_container_find_by_position()
|
||||
-- add mechanism to change appearances (colors?) of UI widgets
|
||||
depending on modifier states
|
||||
|
||||
23
bindings/Makefile.am
Normal file
23
bindings/Makefile.am
Normal file
@ -0,0 +1,23 @@
|
||||
# Copyright (C) 2010 Daiki Ueno <ueno@unixuser.org>
|
||||
# Copyright (C) 2010 Red Hat, Inc.
|
||||
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public License
|
||||
# as published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
|
||||
# This library is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
|
||||
if ENABLE_VALA
|
||||
SUBDIRS = vala
|
||||
else
|
||||
SUBDIRS =
|
||||
endif
|
||||
50
bindings/vala/Makefile.am
Normal file
50
bindings/vala/Makefile.am
Normal file
@ -0,0 +1,50 @@
|
||||
# Copyright (C) 2010 Daiki Ueno <ueno@unixuser.org>
|
||||
# Copyright (C) 2010 Red Hat, Inc.
|
||||
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public License
|
||||
# as published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
|
||||
# This library is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
|
||||
vapidir = $(datadir)/vala/vapi
|
||||
dist_vapi_DATA = \
|
||||
eek-$(EEK_API_VERSION).vapi \
|
||||
eek-clutter-$(EEK_API_VERSION).vapi \
|
||||
eek-gtk-$(EEK_API_VERSION).vapi \
|
||||
eek-xkb-$(EEK_API_VERSION).vapi \
|
||||
eek-xkl-$(EEK_API_VERSION).vapi
|
||||
MAINTAINERCLEANFILES = $(dist_vapi_DATA)
|
||||
|
||||
eek-$(EEK_API_VERSION).vapi:
|
||||
vapigen --library eek-$(EEK_API_VERSION) \
|
||||
eek-$(EEK_API_VERSION)/eek-$(EEK_API_VERSION).gi
|
||||
|
||||
eek-clutter-$(EEK_API_VERSION).vapi:
|
||||
vapigen --vapidir=$(builddir) --library eek-clutter-$(EEK_API_VERSION) \
|
||||
--pkg eek-0.1 --pkg clutter-1.0 \
|
||||
eek-clutter-$(EEK_API_VERSION)/eek-clutter-$(EEK_API_VERSION).gi
|
||||
|
||||
eek-gtk-$(EEK_API_VERSION).vapi:
|
||||
vapigen --vapidir=$(builddir) --library eek-gtk-$(EEK_API_VERSION) \
|
||||
--pkg eek-0.1 --pkg gtk+-2.0 \
|
||||
eek-gtk-$(EEK_API_VERSION)/eek-gtk-$(EEK_API_VERSION).gi
|
||||
|
||||
eek-xkb-$(EEK_API_VERSION).vapi:
|
||||
vapigen --vapidir=$(builddir) --library eek-xkb-$(EEK_API_VERSION) \
|
||||
--pkg eek-0.1 \
|
||||
eek-xkb-$(EEK_API_VERSION)/eek-xkb-$(EEK_API_VERSION).gi
|
||||
|
||||
eek-xkl-$(EEK_API_VERSION).vapi:
|
||||
vapigen --vapidir=$(builddir) --library eek-xkl-$(EEK_API_VERSION) \
|
||||
--pkg eek-0.1 --pkg eek-xkb-0.1 \
|
||||
eek-xkl-$(EEK_API_VERSION)/eek-xkl-$(EEK_API_VERSION).gi
|
||||
9
bindings/vala/eek-0.1/eek-0.1.files
Normal file
9
bindings/vala/eek-0.1/eek-0.1.files
Normal file
@ -0,0 +1,9 @@
|
||||
include/eek-0.1/eek/eek-layout.h
|
||||
include/eek-0.1/eek/eek-element.h
|
||||
include/eek-0.1/eek/eek-container.h
|
||||
include/eek-0.1/eek/eek-keyboard.h
|
||||
include/eek-0.1/eek/eek-section.h
|
||||
include/eek-0.1/eek/eek-key.h
|
||||
include/eek-0.1/eek/eek-types.h
|
||||
include/eek-0.1/eek/eek-keysym.h
|
||||
lib/libeek.so
|
||||
680
bindings/vala/eek-0.1/eek-0.1.gi
Normal file
680
bindings/vala/eek-0.1/eek-0.1.gi
Normal file
@ -0,0 +1,680 @@
|
||||
<?xml version="1.0"?>
|
||||
<api version="1.0">
|
||||
<namespace name="Eek">
|
||||
<function name="keysym_get_category" symbol="eek_keysym_get_category">
|
||||
<return-type type="EekKeysymCategory"/>
|
||||
<parameters>
|
||||
<parameter name="keysym" type="guint"/>
|
||||
</parameters>
|
||||
</function>
|
||||
<function name="keysym_to_string" symbol="eek_keysym_to_string">
|
||||
<return-type type="gchar*"/>
|
||||
<parameters>
|
||||
<parameter name="keysym" type="guint"/>
|
||||
</parameters>
|
||||
</function>
|
||||
<callback name="EekCallback">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
<parameter name="user_data" type="gpointer"/>
|
||||
</parameters>
|
||||
</callback>
|
||||
<callback name="EekCompareFunc">
|
||||
<return-type type="gint"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
<parameter name="user_data" type="gpointer"/>
|
||||
</parameters>
|
||||
</callback>
|
||||
<boxed name="EekBounds" type-name="EekBounds" get-type="eek_bounds_get_type">
|
||||
<field name="x" type="gdouble"/>
|
||||
<field name="y" type="gdouble"/>
|
||||
<field name="width" type="gdouble"/>
|
||||
<field name="height" type="gdouble"/>
|
||||
</boxed>
|
||||
<boxed name="EekKeysymMatrix" type-name="EekKeysymMatrix" get-type="eek_keysym_matrix_get_type">
|
||||
<field name="data" type="guint*"/>
|
||||
<field name="num_groups" type="gint"/>
|
||||
<field name="num_levels" type="gint"/>
|
||||
</boxed>
|
||||
<boxed name="EekOutline" type-name="EekOutline" get-type="eek_outline_get_type">
|
||||
<field name="corner_radius" type="gdouble"/>
|
||||
<field name="points" type="EekPoint*"/>
|
||||
<field name="num_points" type="gint"/>
|
||||
</boxed>
|
||||
<boxed name="EekPoint" type-name="EekPoint" get-type="eek_point_get_type">
|
||||
<field name="x" type="gdouble"/>
|
||||
<field name="y" type="gdouble"/>
|
||||
</boxed>
|
||||
<enum name="EekKeysymCategory">
|
||||
<member name="EEK_KEYSYM_CATEGORY_LETTER" value="0"/>
|
||||
<member name="EEK_KEYSYM_CATEGORY_FUNCTION" value="1"/>
|
||||
<member name="EEK_KEYSYM_CATEGORY_KEYNAME" value="2"/>
|
||||
<member name="EEK_KEYSYM_CATEGORY_UNKNOWN" value="3"/>
|
||||
<member name="EEK_KEYSYM_CATEGORY_LAST" value="3"/>
|
||||
</enum>
|
||||
<enum name="EekOrientation">
|
||||
<member name="EEK_ORIENTATION_VERTICAL" value="0"/>
|
||||
<member name="EEK_ORIENTATION_HORIZONTAL" value="1"/>
|
||||
<member name="EEK_ORIENTATION_INVALID" value="-1"/>
|
||||
</enum>
|
||||
<object name="EekContainer" parent="EekElement" type-name="EekContainer" get-type="eek_container_get_type">
|
||||
<method name="find" symbol="eek_container_find">
|
||||
<return-type type="EekElement*"/>
|
||||
<parameters>
|
||||
<parameter name="container" type="EekContainer*"/>
|
||||
<parameter name="func" type="EekCompareFunc"/>
|
||||
<parameter name="user_data" type="gpointer"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="find_by_position" symbol="eek_container_find_by_position">
|
||||
<return-type type="EekElement*"/>
|
||||
<parameters>
|
||||
<parameter name="container" type="EekContainer*"/>
|
||||
<parameter name="x" type="gdouble"/>
|
||||
<parameter name="y" type="gdouble"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="foreach_child" symbol="eek_container_foreach_child">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="container" type="EekContainer*"/>
|
||||
<parameter name="callback" type="EekCallback"/>
|
||||
<parameter name="user_data" type="gpointer"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<signal name="child-added" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekContainer*"/>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<signal name="child-removed" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekContainer*"/>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<vfunc name="add_child">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekContainer*"/>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="find">
|
||||
<return-type type="EekElement*"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekContainer*"/>
|
||||
<parameter name="func" type="EekCompareFunc"/>
|
||||
<parameter name="user_data" type="gpointer"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="foreach_child">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekContainer*"/>
|
||||
<parameter name="callback" type="EekCallback"/>
|
||||
<parameter name="user_data" type="gpointer"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="remove_child">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekContainer*"/>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
</object>
|
||||
<object name="EekElement" parent="GInitiallyUnowned" type-name="EekElement" get-type="eek_element_get_type">
|
||||
<method name="get_absolute_position" symbol="eek_element_get_absolute_position">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
<parameter name="x" type="gdouble*"/>
|
||||
<parameter name="y" type="gdouble*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_bounds" symbol="eek_element_get_bounds">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
<parameter name="bounds" type="EekBounds*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_name" symbol="eek_element_get_name">
|
||||
<return-type type="gchar*"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_parent" symbol="eek_element_get_parent">
|
||||
<return-type type="EekElement*"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_bounds" symbol="eek_element_set_bounds">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
<parameter name="bounds" type="EekBounds*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_name" symbol="eek_element_set_name">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
<parameter name="name" type="gchar*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_parent" symbol="eek_element_set_parent">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="element" type="EekElement*"/>
|
||||
<parameter name="parent" type="EekElement*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<property name="bounds" type="EekBounds*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="name" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<vfunc name="get_bounds">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekElement*"/>
|
||||
<parameter name="bounds" type="EekBounds*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_name">
|
||||
<return-type type="gchar*"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekElement*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_parent">
|
||||
<return-type type="EekElement*"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekElement*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_bounds">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekElement*"/>
|
||||
<parameter name="bounds" type="EekBounds*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_name">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekElement*"/>
|
||||
<parameter name="name" type="gchar*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_parent">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekElement*"/>
|
||||
<parameter name="parent" type="EekElement*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
</object>
|
||||
<object name="EekKey" parent="EekElement" type-name="EekKey" get-type="eek_key_get_type">
|
||||
<method name="get_index" symbol="eek_key_get_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
<parameter name="column" type="gint*"/>
|
||||
<parameter name="row" type="gint*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_keycode" symbol="eek_key_get_keycode">
|
||||
<return-type type="guint"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_keysym" symbol="eek_key_get_keysym">
|
||||
<return-type type="guint"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_keysym_index" symbol="eek_key_get_keysym_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
<parameter name="group" type="gint*"/>
|
||||
<parameter name="level" type="gint*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_keysyms" symbol="eek_key_get_keysyms">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
<parameter name="keysyms" type="guint**"/>
|
||||
<parameter name="num_groups" type="gint*"/>
|
||||
<parameter name="num_levels" type="gint*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_outline" symbol="eek_key_get_outline">
|
||||
<return-type type="EekOutline*"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_index" symbol="eek_key_set_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
<parameter name="column" type="gint"/>
|
||||
<parameter name="row" type="gint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_keycode" symbol="eek_key_set_keycode">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
<parameter name="keycode" type="guint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_keysym_index" symbol="eek_key_set_keysym_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
<parameter name="group" type="gint"/>
|
||||
<parameter name="level" type="gint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_keysyms" symbol="eek_key_set_keysyms">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
<parameter name="keysyms" type="guint*"/>
|
||||
<parameter name="num_groups" type="gint"/>
|
||||
<parameter name="num_levels" type="gint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_outline" symbol="eek_key_set_outline">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
<parameter name="outline" type="EekOutline*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<property name="column" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="group" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="keycode" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="keysyms" type="EekKeysymMatrix*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="outline" type="gpointer" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="row" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<signal name="pressed" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<signal name="released" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekKey*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<vfunc name="get_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
<parameter name="column" type="gint*"/>
|
||||
<parameter name="row" type="gint*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_keycode">
|
||||
<return-type type="guint"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_keysym">
|
||||
<return-type type="guint"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_keysym_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
<parameter name="group" type="gint*"/>
|
||||
<parameter name="level" type="gint*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_keysyms">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
<parameter name="keysyms" type="guint**"/>
|
||||
<parameter name="num_groups" type="gint*"/>
|
||||
<parameter name="num_levels" type="gint*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_outline">
|
||||
<return-type type="EekOutline*"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
<parameter name="column" type="gint"/>
|
||||
<parameter name="row" type="gint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_keycode">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
<parameter name="keycode" type="guint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_keysym_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
<parameter name="group" type="gint"/>
|
||||
<parameter name="level" type="gint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_keysyms">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
<parameter name="keysyms" type="guint*"/>
|
||||
<parameter name="num_groups" type="gint"/>
|
||||
<parameter name="num_levels" type="gint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_outline">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKey*"/>
|
||||
<parameter name="outline" type="EekOutline*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
</object>
|
||||
<object name="EekKeyboard" parent="EekContainer" type-name="EekKeyboard" get-type="eek_keyboard_get_type">
|
||||
<method name="create_section" symbol="eek_keyboard_create_section">
|
||||
<return-type type="EekSection*"/>
|
||||
<parameters>
|
||||
<parameter name="keyboard" type="EekKeyboard*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="find_key_by_keycode" symbol="eek_keyboard_find_key_by_keycode">
|
||||
<return-type type="EekKey*"/>
|
||||
<parameters>
|
||||
<parameter name="keyboard" type="EekKeyboard*"/>
|
||||
<parameter name="keycode" type="guint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_keysym_index" symbol="eek_keyboard_get_keysym_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="keyboard" type="EekKeyboard*"/>
|
||||
<parameter name="group" type="gint*"/>
|
||||
<parameter name="level" type="gint*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="realize" symbol="eek_keyboard_realize">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="keyboard" type="EekKeyboard*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_keysym_index" symbol="eek_keyboard_set_keysym_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="keyboard" type="EekKeyboard*"/>
|
||||
<parameter name="group" type="gint"/>
|
||||
<parameter name="level" type="gint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_layout" symbol="eek_keyboard_set_layout">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="keyboard" type="EekKeyboard*"/>
|
||||
<parameter name="layout" type="EekLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<property name="group" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="level" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<signal name="key-pressed" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="object" type="EekKeyboard*"/>
|
||||
<parameter name="p0" type="EekKey*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<signal name="key-released" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="object" type="EekKeyboard*"/>
|
||||
<parameter name="p0" type="EekKey*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<vfunc name="create_section">
|
||||
<return-type type="EekSection*"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKeyboard*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="find_key_by_keycode">
|
||||
<return-type type="EekKey*"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKeyboard*"/>
|
||||
<parameter name="keycode" type="guint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_keysym_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKeyboard*"/>
|
||||
<parameter name="group" type="gint*"/>
|
||||
<parameter name="level" type="gint*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="realize">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKeyboard*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_keysym_index">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKeyboard*"/>
|
||||
<parameter name="group" type="gint"/>
|
||||
<parameter name="level" type="gint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_layout">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekKeyboard*"/>
|
||||
<parameter name="layout" type="EekLayout*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
</object>
|
||||
<object name="EekSection" parent="EekContainer" type-name="EekSection" get-type="eek_section_get_type">
|
||||
<method name="add_row" symbol="eek_section_add_row">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="section" type="EekSection*"/>
|
||||
<parameter name="num_columns" type="gint"/>
|
||||
<parameter name="orientation" type="EekOrientation"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="create_key" symbol="eek_section_create_key">
|
||||
<return-type type="EekKey*"/>
|
||||
<parameters>
|
||||
<parameter name="section" type="EekSection*"/>
|
||||
<parameter name="column" type="gint"/>
|
||||
<parameter name="row" type="gint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="find_key_by_keycode" symbol="eek_section_find_key_by_keycode">
|
||||
<return-type type="EekKey*"/>
|
||||
<parameters>
|
||||
<parameter name="section" type="EekSection*"/>
|
||||
<parameter name="keycode" type="guint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_angle" symbol="eek_section_get_angle">
|
||||
<return-type type="gint"/>
|
||||
<parameters>
|
||||
<parameter name="section" type="EekSection*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_n_rows" symbol="eek_section_get_n_rows">
|
||||
<return-type type="gint"/>
|
||||
<parameters>
|
||||
<parameter name="section" type="EekSection*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_row" symbol="eek_section_get_row">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="section" type="EekSection*"/>
|
||||
<parameter name="index" type="gint"/>
|
||||
<parameter name="num_columns" type="gint*"/>
|
||||
<parameter name="orientation" type="EekOrientation*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_angle" symbol="eek_section_set_angle">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="section" type="EekSection*"/>
|
||||
<parameter name="angle" type="gint"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<property name="angle" type="gint" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<signal name="key-pressed" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="object" type="EekSection*"/>
|
||||
<parameter name="p0" type="EekKey*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<signal name="key-released" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="object" type="EekSection*"/>
|
||||
<parameter name="p0" type="EekKey*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<vfunc name="add_row">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekSection*"/>
|
||||
<parameter name="num_columns" type="gint"/>
|
||||
<parameter name="orientation" type="EekOrientation"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="create_key">
|
||||
<return-type type="EekKey*"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekSection*"/>
|
||||
<parameter name="row" type="gint"/>
|
||||
<parameter name="column" type="gint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="find_key_by_keycode">
|
||||
<return-type type="EekKey*"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekSection*"/>
|
||||
<parameter name="keycode" type="guint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_angle">
|
||||
<return-type type="gint"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekSection*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_n_rows">
|
||||
<return-type type="gint"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekSection*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_row">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekSection*"/>
|
||||
<parameter name="index" type="gint"/>
|
||||
<parameter name="num_columns" type="gint*"/>
|
||||
<parameter name="orientation" type="EekOrientation*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="set_angle">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekSection*"/>
|
||||
<parameter name="angle" type="gint"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
</object>
|
||||
<interface name="EekLayout" type-name="EekLayout" get-type="eek_layout_get_type">
|
||||
<method name="apply" symbol="eek_layout_apply">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekLayout*"/>
|
||||
<parameter name="keyboard" type="EekKeyboard*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_group" symbol="eek_layout_get_group">
|
||||
<return-type type="gint"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<signal name="changed" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekLayout*"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<signal name="group-changed" when="FIRST">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekLayout*"/>
|
||||
<parameter name="group" type="gint"/>
|
||||
</parameters>
|
||||
</signal>
|
||||
<vfunc name="apply">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekLayout*"/>
|
||||
<parameter name="keyboard" type="EekKeyboard*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
<vfunc name="get_group">
|
||||
<return-type type="gint"/>
|
||||
<parameters>
|
||||
<parameter name="self" type="EekLayout*"/>
|
||||
</parameters>
|
||||
</vfunc>
|
||||
</interface>
|
||||
<constant name="EEK_CONTAINER_H" type="int" value="1"/>
|
||||
<constant name="EEK_ELEMENT_H" type="int" value="1"/>
|
||||
<constant name="EEK_KEYBOARD_H" type="int" value="1"/>
|
||||
<constant name="EEK_KEYSYM_H" type="int" value="1"/>
|
||||
<constant name="EEK_KEY_H" type="int" value="1"/>
|
||||
<constant name="EEK_LAYOUT_H" type="int" value="1"/>
|
||||
<constant name="EEK_SECTION_H" type="int" value="1"/>
|
||||
<constant name="EEK_TYPES_H" type="int" value="1"/>
|
||||
</namespace>
|
||||
</api>
|
||||
1
bindings/vala/eek-0.1/eek-0.1.metadata
Normal file
1
bindings/vala/eek-0.1/eek-0.1.metadata
Normal file
@ -0,0 +1 @@
|
||||
Eek cheader_filename="eek/eek.h"
|
||||
1
bindings/vala/eek-0.1/eek-0.1.namespace
Normal file
1
bindings/vala/eek-0.1/eek-0.1.namespace
Normal file
@ -0,0 +1 @@
|
||||
Eek
|
||||
6
bindings/vala/eek-clutter-0.1/eek-clutter-0.1.files
Normal file
6
bindings/vala/eek-clutter-0.1/eek-clutter-0.1.files
Normal file
@ -0,0 +1,6 @@
|
||||
include/eek-0.1/eek/eek-clutter-keyboard.h
|
||||
include/eek-0.1/eek/eek-clutter-section.h
|
||||
include/eek-0.1/eek/eek-clutter-key.h
|
||||
include/eek-0.1/eek/eek-clutter-drawing-context.h
|
||||
lib/libeek-clutter.so
|
||||
|
||||
85
bindings/vala/eek-clutter-0.1/eek-clutter-0.1.gi
Normal file
85
bindings/vala/eek-clutter-0.1/eek-clutter-0.1.gi
Normal file
@ -0,0 +1,85 @@
|
||||
<?xml version="1.0"?>
|
||||
<api version="1.0">
|
||||
<namespace name="EekClutter">
|
||||
<object name="EekClutterDrawingContext" parent="GInitiallyUnowned" type-name="EekClutterDrawingContext" get-type="eek_clutter_drawing_context_get_type">
|
||||
<method name="get_category_font" symbol="eek_clutter_drawing_context_get_category_font">
|
||||
<return-type type="PangoFontDescription*"/>
|
||||
<parameters>
|
||||
<parameter name="context" type="EekClutterDrawingContext*"/>
|
||||
<parameter name="category" type="EekKeysymCategory"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_outline_texture" symbol="eek_clutter_drawing_context_get_outline_texture">
|
||||
<return-type type="ClutterActor*"/>
|
||||
<parameters>
|
||||
<parameter name="context" type="EekClutterDrawingContext*"/>
|
||||
<parameter name="outline" type="EekOutline*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<constructor name="new" symbol="eek_clutter_drawing_context_new">
|
||||
<return-type type="EekClutterDrawingContext*"/>
|
||||
</constructor>
|
||||
<method name="set_category_font" symbol="eek_clutter_drawing_context_set_category_font">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="context" type="EekClutterDrawingContext*"/>
|
||||
<parameter name="category" type="EekKeysymCategory"/>
|
||||
<parameter name="fonts" type="PangoFontDescription*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_outline_texture" symbol="eek_clutter_drawing_context_set_outline_texture">
|
||||
<return-type type="void"/>
|
||||
<parameters>
|
||||
<parameter name="context" type="EekClutterDrawingContext*"/>
|
||||
<parameter name="outline" type="EekOutline*"/>
|
||||
<parameter name="texture" type="ClutterActor*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
</object>
|
||||
<object name="EekClutterKey" parent="EekKey" type-name="EekClutterKey" get-type="eek_clutter_key_get_type">
|
||||
<method name="get_actor" symbol="eek_clutter_key_get_actor">
|
||||
<return-type type="ClutterActor*"/>
|
||||
<parameters>
|
||||
<parameter name="key" type="EekClutterKey*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<constructor name="new" symbol="eek_clutter_key_new">
|
||||
<return-type type="EekKey*"/>
|
||||
<parameters>
|
||||
<parameter name="context" type="EekClutterDrawingContext*"/>
|
||||
<parameter name="column" type="gint"/>
|
||||
<parameter name="row" type="gint"/>
|
||||
</parameters>
|
||||
</constructor>
|
||||
</object>
|
||||
<object name="EekClutterKeyboard" parent="EekKeyboard" type-name="EekClutterKeyboard" get-type="eek_clutter_keyboard_get_type">
|
||||
<method name="get_actor" symbol="eek_clutter_keyboard_get_actor">
|
||||
<return-type type="ClutterActor*"/>
|
||||
<parameters>
|
||||
<parameter name="keyboard" type="EekClutterKeyboard*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<constructor name="new" symbol="eek_clutter_keyboard_new">
|
||||
<return-type type="EekKeyboard*"/>
|
||||
</constructor>
|
||||
</object>
|
||||
<object name="EekClutterSection" parent="EekSection" type-name="EekClutterSection" get-type="eek_clutter_section_get_type">
|
||||
<method name="get_actor" symbol="eek_clutter_section_get_actor">
|
||||
<return-type type="ClutterActor*"/>
|
||||
<parameters>
|
||||
<parameter name="section" type="EekClutterSection*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<constructor name="new" symbol="eek_clutter_section_new">
|
||||
<return-type type="EekSection*"/>
|
||||
<parameters>
|
||||
<parameter name="context" type="EekClutterDrawingContext*"/>
|
||||
</parameters>
|
||||
</constructor>
|
||||
</object>
|
||||
<constant name="EEK_CLUTTER_DRAWING_CONTEXT_H" type="int" value="1"/>
|
||||
<constant name="EEK_CLUTTER_KEYBOARD_H" type="int" value="1"/>
|
||||
<constant name="EEK_CLUTTER_KEY_H" type="int" value="1"/>
|
||||
<constant name="EEK_CLUTTER_SECTION_H" type="int" value="1"/>
|
||||
</namespace>
|
||||
</api>
|
||||
1
bindings/vala/eek-clutter-0.1/eek-clutter-0.1.metadata
Normal file
1
bindings/vala/eek-clutter-0.1/eek-clutter-0.1.metadata
Normal file
@ -0,0 +1 @@
|
||||
EekClutter cheader_filename="eek/eek-clutter.h"
|
||||
1
bindings/vala/eek-clutter-0.1/eek-clutter-0.1.namespace
Normal file
1
bindings/vala/eek-clutter-0.1/eek-clutter-0.1.namespace
Normal file
@ -0,0 +1 @@
|
||||
EekClutter
|
||||
3
bindings/vala/eek-gtk-0.1/eek-gtk-0.1.files
Normal file
3
bindings/vala/eek-gtk-0.1/eek-gtk-0.1.files
Normal file
@ -0,0 +1,3 @@
|
||||
include/eek-0.1/eek/eek-gtk-keyboard.h
|
||||
include/eek-0.1/eek/eek-gtk.h
|
||||
lib/libeek-gtk.so
|
||||
18
bindings/vala/eek-gtk-0.1/eek-gtk-0.1.gi
Normal file
18
bindings/vala/eek-gtk-0.1/eek-gtk-0.1.gi
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
<api version="1.0">
|
||||
<namespace name="EekGtk">
|
||||
<object name="EekGtkKeyboard" parent="EekKeyboard" type-name="EekGtkKeyboard" get-type="eek_gtk_keyboard_get_type">
|
||||
<method name="get_widget" symbol="eek_gtk_keyboard_get_widget">
|
||||
<return-type type="GtkWidget*"/>
|
||||
<parameters>
|
||||
<parameter name="keyboard" type="EekGtkKeyboard*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<constructor name="new" symbol="eek_gtk_keyboard_new">
|
||||
<return-type type="EekKeyboard*"/>
|
||||
</constructor>
|
||||
</object>
|
||||
<constant name="EEK_GTK_H" type="int" value="1"/>
|
||||
<constant name="EEK_GTK_KEYBOARD_H" type="int" value="1"/>
|
||||
</namespace>
|
||||
</api>
|
||||
1
bindings/vala/eek-gtk-0.1/eek-gtk-0.1.metadata
Normal file
1
bindings/vala/eek-gtk-0.1/eek-gtk-0.1.metadata
Normal file
@ -0,0 +1 @@
|
||||
EekGtk cheader_filename="eek/eek-gtk.h"
|
||||
1
bindings/vala/eek-gtk-0.1/eek-gtk-0.1.namespace
Normal file
1
bindings/vala/eek-gtk-0.1/eek-gtk-0.1.namespace
Normal file
@ -0,0 +1 @@
|
||||
EekGtk
|
||||
2
bindings/vala/eek-xkb-0.1/eek-xkb-0.1.files
Normal file
2
bindings/vala/eek-xkb-0.1/eek-xkb-0.1.files
Normal file
@ -0,0 +1,2 @@
|
||||
include/eek-0.1/eek/eek-xkb-layout.h
|
||||
lib/libeek-xkb.so
|
||||
65
bindings/vala/eek-xkb-0.1/eek-xkb-0.1.gi
Normal file
65
bindings/vala/eek-xkb-0.1/eek-xkb-0.1.gi
Normal file
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0"?>
|
||||
<api version="1.0">
|
||||
<namespace name="EekXkb">
|
||||
<object name="EekXkbLayout" parent="GInitiallyUnowned" type-name="EekXkbLayout" get-type="eek_xkb_layout_get_type">
|
||||
<implements>
|
||||
<interface name="EekLayout"/>
|
||||
</implements>
|
||||
<method name="get_geometry" symbol="eek_xkb_layout_get_geometry">
|
||||
<return-type type="gchar*"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXkbLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_keycodes" symbol="eek_xkb_layout_get_keycodes">
|
||||
<return-type type="gchar*"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXkbLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_symbols" symbol="eek_xkb_layout_get_symbols">
|
||||
<return-type type="gchar*"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXkbLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<constructor name="new" symbol="eek_xkb_layout_new">
|
||||
<return-type type="EekLayout*"/>
|
||||
</constructor>
|
||||
<method name="set_geometry" symbol="eek_xkb_layout_set_geometry">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXkbLayout*"/>
|
||||
<parameter name="geometry" type="gchar*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_keycodes" symbol="eek_xkb_layout_set_keycodes">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXkbLayout*"/>
|
||||
<parameter name="keycodes" type="gchar*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<!--
|
||||
<method name="set_names" symbol="eek_xkb_layout_set_names">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXkbLayout*"/>
|
||||
<parameter name="names" type="XkbComponentNamesRec*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
-->
|
||||
<method name="set_symbols" symbol="eek_xkb_layout_set_symbols">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXkbLayout*"/>
|
||||
<parameter name="symbols" type="gchar*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<property name="geometry" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="keycodes" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="symbols" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
</object>
|
||||
<constant name="EEK_XKB_LAYOUT_H" type="int" value="1"/>
|
||||
</namespace>
|
||||
</api>
|
||||
1
bindings/vala/eek-xkb-0.1/eek-xkb-0.1.metadata
Normal file
1
bindings/vala/eek-xkb-0.1/eek-xkb-0.1.metadata
Normal file
@ -0,0 +1 @@
|
||||
EekXkb cheader_filename="eek/eek-xkb.h"
|
||||
1
bindings/vala/eek-xkb-0.1/eek-xkb-0.1.namespace
Normal file
1
bindings/vala/eek-xkb-0.1/eek-xkb-0.1.namespace
Normal file
@ -0,0 +1 @@
|
||||
EekXkb
|
||||
3
bindings/vala/eek-xkl-0.1/eek-xkl-0.1.files
Normal file
3
bindings/vala/eek-xkl-0.1/eek-xkl-0.1.files
Normal file
@ -0,0 +1,3 @@
|
||||
include/eek-0.1/eek/eek-xkl-layout.h
|
||||
lib/libeek-xkl.so
|
||||
|
||||
91
bindings/vala/eek-xkl-0.1/eek-xkl-0.1.gi
Normal file
91
bindings/vala/eek-xkl-0.1/eek-xkl-0.1.gi
Normal file
@ -0,0 +1,91 @@
|
||||
<?xml version="1.0"?>
|
||||
<api version="1.0">
|
||||
<namespace name="EekXkl">
|
||||
<object name="EekXklLayout" parent="EekXkbLayout" type-name="EekXklLayout" get-type="eek_xkl_layout_get_type">
|
||||
<implements>
|
||||
<interface name="EekLayout"/>
|
||||
</implements>
|
||||
<method name="disable_option" symbol="eek_xkl_layout_disable_option">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
<parameter name="option" type="gchar*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="enable_option" symbol="eek_xkl_layout_enable_option">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
<parameter name="option" type="gchar*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_layouts" symbol="eek_xkl_layout_get_layouts">
|
||||
<return-type type="gchar**"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_model" symbol="eek_xkl_layout_get_model">
|
||||
<return-type type="gchar*"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_option" symbol="eek_xkl_layout_get_option">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
<parameter name="option" type="gchar*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_options" symbol="eek_xkl_layout_get_options">
|
||||
<return-type type="gchar**"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="get_variants" symbol="eek_xkl_layout_get_variants">
|
||||
<return-type type="gchar**"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<constructor name="new" symbol="eek_xkl_layout_new">
|
||||
<return-type type="EekLayout*"/>
|
||||
</constructor>
|
||||
<method name="set_layouts" symbol="eek_xkl_layout_set_layouts">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
<parameter name="layouts" type="gchar**"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_model" symbol="eek_xkl_layout_set_model">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
<parameter name="model" type="gchar*"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_options" symbol="eek_xkl_layout_set_options">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
<parameter name="options" type="gchar**"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_variants" symbol="eek_xkl_layout_set_variants">
|
||||
<return-type type="gboolean"/>
|
||||
<parameters>
|
||||
<parameter name="layout" type="EekXklLayout*"/>
|
||||
<parameter name="variants" type="gchar**"/>
|
||||
</parameters>
|
||||
</method>
|
||||
<property name="layouts" type="GStrv*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="model" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="options" type="GStrv*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
<property name="variants" type="GStrv*" readable="1" writable="1" construct="0" construct-only="0"/>
|
||||
</object>
|
||||
<constant name="EEK_XKL_LAYOUT_H" type="int" value="1"/>
|
||||
</namespace>
|
||||
</api>
|
||||
1
bindings/vala/eek-xkl-0.1/eek-xkl-0.1.metadata
Normal file
1
bindings/vala/eek-xkl-0.1/eek-xkl-0.1.metadata
Normal file
@ -0,0 +1 @@
|
||||
EekXkl cheader_filename="eek/eek-xkl.h"
|
||||
1
bindings/vala/eek-xkl-0.1/eek-xkl-0.1.namespace
Normal file
1
bindings/vala/eek-xkl-0.1/eek-xkl-0.1.namespace
Normal file
@ -0,0 +1 @@
|
||||
EekXkl
|
||||
24
configure.ac
24
configure.ac
@ -16,7 +16,7 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
|
||||
AC_INIT([eekboard], [0.0.1], [ueno@unixuser.org])
|
||||
AC_INIT([eekboard], [0.0.2], [ueno@unixuser.org])
|
||||
AC_CONFIG_SRCDIR([configure.ac])
|
||||
AC_PREREQ(2.63)
|
||||
AM_INIT_AUTOMAKE
|
||||
@ -42,6 +42,14 @@ PKG_CHECK_MODULES([LIBXKLAVIER], [libxklavier x11], ,
|
||||
PKG_CHECK_MODULES([LIBFAKEKEY], [libfakekey], ,
|
||||
[AC_MSG_ERROR([libfakekey not found])])
|
||||
|
||||
AC_MSG_CHECKING([whether you enable Vala language support])
|
||||
AC_ARG_ENABLE(vala,
|
||||
AS_HELP_STRING([--enable-vala=no/yes],
|
||||
[Enable Vala language binding default=yes]),,
|
||||
enable_vala=yes)
|
||||
AC_MSG_RESULT($enable_vala)
|
||||
AM_CONDITIONAL(ENABLE_VALA, [test x$enable_vala = xyes])
|
||||
|
||||
AC_MSG_CHECKING([whether you enable eekboard])
|
||||
AC_ARG_ENABLE(eekboard,
|
||||
AS_HELP_STRING([--enable-eekboard=no/yes],
|
||||
@ -89,18 +97,22 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the read-only
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
AM_GLIB_DEFINE_LOCALEDIR(EEKBOARD_LOCALEDIR)
|
||||
|
||||
GOBJECT_INTROSPECTION_CHECK([0.6.7])
|
||||
|
||||
AC_CONFIG_HEADERS([eek/config.h])
|
||||
AC_CONFIG_FILES([Makefile
|
||||
eek/Makefile
|
||||
src/Makefile
|
||||
tests/Makefile
|
||||
bindings/Makefile
|
||||
bindings/vala/Makefile
|
||||
docs/Makefile
|
||||
docs/reference/Makefile
|
||||
docs/reference/eek/Makefile
|
||||
po/Makefile.in
|
||||
eek/libeek.pc
|
||||
eek/libeek-clutter.pc
|
||||
eek/libeek-gtk.pc
|
||||
eek/libeek-xkb.pc
|
||||
eek/libeek-xkl.pc])
|
||||
eek/eek-${EEK_API_VERSION}.pc
|
||||
eek/eek-clutter-${EEK_API_VERSION}.pc
|
||||
eek/eek-gtk-${EEK_API_VERSION}.pc
|
||||
eek/eek-xkb-${EEK_API_VERSION}.pc
|
||||
eek/eek-xkl-${EEK_API_VERSION}.pc])
|
||||
AC_OUTPUT
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<bookinfo>
|
||||
<title>libeek Reference Manual</title>
|
||||
<releaseinfo>
|
||||
for libeek 0.0.1.
|
||||
for libeek 0.0.2.
|
||||
</releaseinfo>
|
||||
<copyright>
|
||||
<year>2010</year>
|
||||
|
||||
@ -4,23 +4,25 @@
|
||||
|
||||
<para>libeek is a library to create keyboard-like user interface.
|
||||
Since it is designed as simple as possible, it provides only two
|
||||
kinds of objects. One is <emphasis>keyboard element</emphasis>
|
||||
(derived from #EekElement) and another is <emphasis>keyboard
|
||||
layout engine</emphasis> (which implements the #EekLayout
|
||||
interface).</para>
|
||||
kind of objects. One is <emphasis>keyboard element</emphasis>
|
||||
(objects derived from #EekElement) and another is
|
||||
<emphasis>keyboard layout engine</emphasis> (objects which
|
||||
implements the #EekLayout interface).</para>
|
||||
|
||||
<para>A keyboard element represents either a keyboard
|
||||
(#EekKeyboard), a section (#EekSection), or a key (#EekKey). Each
|
||||
element implements the Builder design pattern so that it can be
|
||||
converted into a UI widget (#ClutterActor, #GtkDrawingArea,
|
||||
element implements the Builder design pattern so that it can map
|
||||
itself to different UI widgets (#ClutterActor, #GtkDrawingArea,
|
||||
aso).</para>
|
||||
|
||||
<para>A layout engine arranges keyboard elements using information
|
||||
from external configuration mechanisms (libxklavier, XKB,
|
||||
matchbox-keyboard layouts in XML, aso)</para>
|
||||
|
||||
<para>Here is a sample code which creates a keyboard-like #ClutterActor using the system keyboard layout using libxklavier:</para>
|
||||
|
||||
<para>Here is a sample code which demonstrates (1) keyboard
|
||||
elements are arranged with the system keyboard layout using
|
||||
libxklavier and (2) keyboard elements are mapped into
|
||||
#ClutterActor:</para>
|
||||
<informalexample>
|
||||
<programlisting>
|
||||
EekKeyboard *keyboard;
|
||||
@ -40,14 +42,26 @@ clutter_group_add (CLUTTER_GROUP(stage),
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
|
||||
<para>One of the most interesting features of libeek is that UI
|
||||
backends can be switched easily. For example, to create a
|
||||
keyboard-like #GtkWidget instead of #ClutterActor, all you need is
|
||||
to replace eek_clutter_keyboard_new() with eek_gtk_keyboard_new()
|
||||
and eek_clutter_keyboard_get_actor() with
|
||||
eek_gtk_keyboard_get_widget().</para>
|
||||
<para>The most interesting feature of libeek is that developer can
|
||||
choose arbitrary combination of UI toolkits and layout engine
|
||||
supported by libeek. For example, to create a keyboard-like
|
||||
#GtkWidget instead of #ClutterActor, all you need is to replace
|
||||
eek_clutter_keyboard_new() with eek_gtk_keyboard_new() and
|
||||
eek_clutter_keyboard_get_actor() with
|
||||
eek_gtk_keyboard_get_widget(). Similarly, if you want to use XKB
|
||||
configuration directly (without libxklavier), you will only need to
|
||||
replace eek_xkl_layout_new () with eek_xkb_layout_new().</para>
|
||||
|
||||
<para>There is logical represention (model) of keyboard distinct from the UI widget (view). More precisely, a keyboard is represented as a tree of #EekElement -- #EekKeyboard contains one or more #EekSection's and #EekSection contains one or more #EekKey's. Each element can be event source when user events on the UI widget occurs. For example, with the following code, when a user pushed a key widget with keycode 0x38 assigned, on_a_pressed will be called.</para>
|
||||
<para>To achieve portability across different UI toolkits,
|
||||
there is a seperate represention of keyboard elements apart from
|
||||
the actual UI widgets. For example, a keyboard is represented as a tree of
|
||||
#EekElement -- #EekKeyboard contains one or more #EekSection's and
|
||||
#EekSection contains one or more #EekKey's. Each element may emit
|
||||
events when user pushes the corresponding UI widget.</para>
|
||||
<para>
|
||||
Here is another sample code which demonstrates logical events on
|
||||
#EekElement:
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting>
|
||||
/* Find a key element in the logical keyboard. */
|
||||
@ -55,6 +69,6 @@ EekKey *key = eek_keyboard_find_key_by_keycode (keyboard, 0x38);
|
||||
g_signal_connect (key, "pressed", on_a_pressed);
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
<para>In this way, application developers do not need to know the differences between the underlying UI widgets after creation.</para>
|
||||
<para>When user pushed a widget which looks like "a" key (i.e. keycode 0x38), on_a_pressed will be called.</para>
|
||||
</partintro>
|
||||
</part>
|
||||
|
||||
@ -123,6 +123,7 @@ EekXklLayoutClass
|
||||
EekXklLayoutPrivate
|
||||
eek_xkl_layout_new
|
||||
eek_xkl_layout_set_config
|
||||
eek_xkl_layout_set_config_full
|
||||
eek_xkl_layout_set_model
|
||||
eek_xkl_layout_set_layouts
|
||||
eek_xkl_layout_set_variants
|
||||
@ -131,6 +132,9 @@ eek_xkl_layout_get_model
|
||||
eek_xkl_layout_get_layouts
|
||||
eek_xkl_layout_get_variants
|
||||
eek_xkl_layout_get_options
|
||||
eek_xkl_layout_disable_option
|
||||
eek_xkl_layout_enable_option
|
||||
eek_xkl_layout_get_option
|
||||
<SUBSECTION Standard>
|
||||
EEK_XKL_LAYOUT
|
||||
EEK_IS_XKL_LAYOUT
|
||||
@ -149,6 +153,7 @@ EekXkbLayoutClass
|
||||
EekXkbLayoutPrivate
|
||||
eek_xkb_layout_new
|
||||
eek_xkb_layout_set_names
|
||||
eek_xkb_layout_set_names_full
|
||||
eek_xkb_layout_set_keycodes
|
||||
eek_xkb_layout_set_geometry
|
||||
eek_xkb_layout_set_symbols
|
||||
|
||||
@ -46,9 +46,8 @@ libeek_la_SOURCES = \
|
||||
eek-special-keysym-labels.h \
|
||||
eek-unicode-keysym-labels.h \
|
||||
eek-keyname-keysym-labels.h
|
||||
|
||||
libeek_la_CFLAGS = $(GOBJECT2_CFLAGS) $(CAIRO_CFLAGS) $(PANGO_CFLAGS)
|
||||
libeek_la_LIBADD = $(GOBJECT2_LIBS) $(CAIRO_LIBS) $(PANGO_LIBS)
|
||||
libeek_la_CFLAGS = $(GOBJECT2_CFLAGS)
|
||||
libeek_la_LIBADD = $(GOBJECT2_LIBS)
|
||||
|
||||
if HAVE_CLUTTER
|
||||
libeek_clutter_la_SOURCES = \
|
||||
@ -66,8 +65,8 @@ libeek_clutter_la_SOURCES = \
|
||||
eek-drawing.c \
|
||||
eek-clutter.h
|
||||
|
||||
libeek_clutter_la_CFLAGS = $(CLUTTER_CFLAGS)
|
||||
libeek_clutter_la_LIBADD = libeek.la $(CLUTTER_LIBS)
|
||||
libeek_clutter_la_CFLAGS = $(CLUTTER_CFLAGS) $(CAIRO_LIBS) $(PANGO_LIBS)
|
||||
libeek_clutter_la_LIBADD = libeek.la $(CLUTTER_LIBS) $(CAIRO_LIBS) $(PANGO_LIBS)
|
||||
endif
|
||||
|
||||
libeek_gtk_la_SOURCES = \
|
||||
@ -77,8 +76,8 @@ libeek_gtk_la_SOURCES = \
|
||||
eek-drawing.c \
|
||||
eek-gtk.h
|
||||
|
||||
libeek_gtk_la_CFLAGS = $(GTK2_CFLAGS)
|
||||
libeek_gtk_la_LIBADD = libeek.la $(GTK2_LIBS)
|
||||
libeek_gtk_la_CFLAGS = $(GTK2_CFLAGS) $(CAIRO_LIBS) $(PANGO_LIBS)
|
||||
libeek_gtk_la_LIBADD = libeek.la $(GTK2_LIBS) $(CAIRO_LIBS) $(PANGO_LIBS)
|
||||
|
||||
libeek_xkb_la_SOURCES = \
|
||||
eek-xkb-layout.h \
|
||||
@ -104,9 +103,11 @@ eek_HEADERS = \
|
||||
$(top_srcdir)/eek/eek-layout.h \
|
||||
$(top_srcdir)/eek/eek-keysym.h \
|
||||
$(top_srcdir)/eek/eek-types.h \
|
||||
$(top_srcdir)/eek/eek-gtk-keyboard.h \
|
||||
$(top_srcdir)/eek/eek-xkb-layout.h \
|
||||
$(top_srcdir)/eek/eek-xkl-layout.h \
|
||||
$(top_srcdir)/eek/eek.h \
|
||||
$(top_srcdir)/eek/eek-gtk.h \
|
||||
$(top_srcdir)/eek/eek-xkb.h \
|
||||
$(top_srcdir)/eek/eek-xkl.h
|
||||
|
||||
@ -115,6 +116,7 @@ eek_HEADERS += \
|
||||
$(top_srcdir)/eek/eek-clutter-keyboard.h \
|
||||
$(top_srcdir)/eek/eek-clutter-section.h \
|
||||
$(top_srcdir)/eek/eek-clutter-key.h \
|
||||
$(top_srcdir)/eek/eek-clutter-drawing-context.h \
|
||||
$(top_srcdir)/eek/eek-clutter.h
|
||||
endif
|
||||
|
||||
@ -128,11 +130,12 @@ eek-keyname-keysym-labels.h: keyname-keysym-labels.txt
|
||||
$(PYTHON) ./gen-keysym-labels.py keyname_keysym_labels < $< > $@
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libeek.pc \
|
||||
libeek-clutter.pc \
|
||||
libeek-gtk.pc \
|
||||
libeek-xkb.pc \
|
||||
libeek-xkl.pc
|
||||
pkgconfig_DATA = \
|
||||
eek-$(EEK_API_VERSION).pc \
|
||||
eek-clutter-$(EEK_API_VERSION).pc \
|
||||
eek-gtk-$(EEK_API_VERSION).pc \
|
||||
eek-xkb-$(EEK_API_VERSION).pc \
|
||||
eek-xkl-$(EEK_API_VERSION).pc
|
||||
|
||||
DISTCLEANFILES = \
|
||||
eek-special-keysym-labels.h \
|
||||
@ -145,3 +148,65 @@ EXTRA_DIST = \
|
||||
special-keysym-labels.txt \
|
||||
unicode-keysym-labels.txt \
|
||||
keyname-keysym-labels.txt
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-include $(INTROSPECTION_MAKEFILE)
|
||||
INTROSPECTION_GIRS =
|
||||
INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir)
|
||||
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
|
||||
|
||||
if HAVE_INTROSPECTION
|
||||
|
||||
Eek-0.1.gir: libeek.la
|
||||
Eek_0_1_gir_SCANNERFLAGS = --strip-prefix=Eek --pkg=glib-2.0
|
||||
Eek_0_1_gir_INCLUDES = GLib-2.0 GObject-2.0
|
||||
Eek_0_1_gir_CFLAGS = $(libeek_la_CFLAGS)
|
||||
Eek_0_1_gir_LIBS = libeek.la
|
||||
Eek_0_1_gir_FILES = $(libeek_la_SOURCES)
|
||||
|
||||
EekGtk-0.1.gir: libeek-gtk.la
|
||||
EekGtk_0_1_gir_INCLUDES = GObject-2.0 Gtk-2.0 Eek-0.1
|
||||
EekGtk_0_1_gir_CFLAGS = $(libeek_gtk_la_CFLAGS)
|
||||
EekGtk_0_1_gir_LIBS = libeek-gtk.la
|
||||
EekGtk_0_1_gir_FILES = $(libeek_gtk_la_SOURCES)
|
||||
|
||||
if HAVE_CLUTTER
|
||||
EekClutter-0.1.gir: libeek-clutter.la
|
||||
EekClutter_0_1_gir_INCLUDES = GObject-2.0 Clutter-1.0 Eek-0.1
|
||||
EekClutter_0_1_gir_CFLAGS = $(libeek_clutter_la_CFLAGS)
|
||||
EekClutter_0_1_gir_LIBS = libeek-clutter.la
|
||||
EekClutter_0_1_gir_FILES = $(libeek_clutter_la_SOURCES)
|
||||
endif
|
||||
|
||||
EekXkb-0.1.gir: libeek-xkb.la
|
||||
EekXkb_0_1_gir_INCLUDES = GObject-2.0 Eek-0.1
|
||||
EekXkb_0_1_gir_CFLAGS = $(libeek_xkb_la_CFLAGS)
|
||||
EekXkb_0_1_gir_LIBS = libeek-xkb.la
|
||||
EekXkb_0_1_gir_FILES = $(libeek_xkb_la_SOURCES)
|
||||
|
||||
EekXkl-0.1.gir: libeek-xkl.la
|
||||
EekXkl_0_1_gir_INCLUDES = GObject-2.0 EekXkb-0.1
|
||||
EekXkl_0_1_gir_CFLAGS = $(libeek_xkl_la_CFLAGS)
|
||||
EekXkl_0_1_gir_LIBS = libeek-xkl.la
|
||||
EekXkl_0_1_gir_FILES = $(libeek_xkl_la_SOURCES)
|
||||
|
||||
INTROSPECTION_GIRS += \
|
||||
Eek-0.1.gir \
|
||||
EekGtk-0.1.gir \
|
||||
EekXkb-0.1.gir \
|
||||
EekXkl-0.1.gir
|
||||
|
||||
if HAVE_CLUTTER
|
||||
INTROSPECTION_GIRS += \
|
||||
EekClutter-0.1.gir
|
||||
endif
|
||||
|
||||
girdir = $(datadir)/gir-1.0
|
||||
gir_DATA = $(INTROSPECTION_GIRS)
|
||||
|
||||
typelibdir = $(libdir)/girepository-1.0
|
||||
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
||||
|
||||
CLEANFILES += $(gir_DATA) $(typelib_DATA)
|
||||
endif
|
||||
|
||||
@ -23,8 +23,8 @@ includedir=@includedir@
|
||||
|
||||
Name: EEK
|
||||
Description: A Library to Create Keyboard-like UI
|
||||
URL: http://github.com/ueno/eekboard
|
||||
URL: http://ueno.github.com/eekboard/
|
||||
Version: @VERSION@
|
||||
Requires: gobject-2.0
|
||||
Libs: -L${libdir} -leek
|
||||
Libs.private: @GOBJECT2_LIBS@
|
||||
Cflags: -I${includedir}/eek-@EEK_API_VERSION@
|
||||
@ -23,8 +23,8 @@ includedir=@includedir@
|
||||
|
||||
Name: libeek-clutter
|
||||
Description: A Library to Create Keyboard-like UI (Clutter Support)
|
||||
URL: http://github.com/ueno/eekboard
|
||||
URL: http://ueno.github.com/eekboard/
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -leek -leek-clutter
|
||||
Libs.private: @GOBJECT2_LIBS@ @CLUTTER_LIBS@
|
||||
Requires: eek-@EEK_API_VERSION@ clutter-1.0
|
||||
Libs: -L${libdir} -leek-clutter
|
||||
Cflags: -I${includedir}/eek-@EEK_API_VERSION@
|
||||
@ -90,7 +90,7 @@ egf_key_callback (EekElement *element,
|
||||
gdouble font_size;
|
||||
guint keysym;
|
||||
EekBounds bounds;
|
||||
const gchar *label;
|
||||
gchar *label;
|
||||
|
||||
keysym = eek_key_get_keysym (key);
|
||||
if (keysym == EEK_INVALID_KEYSYM ||
|
||||
@ -99,9 +99,12 @@ egf_key_callback (EekElement *element,
|
||||
|
||||
eek_element_get_bounds (EEK_ELEMENT(key), &bounds);
|
||||
label = eek_keysym_to_string (keysym);
|
||||
if (!label)
|
||||
return;
|
||||
font_size = get_font_size (label, &bounds, data->layout);
|
||||
if (font_size < data->font_size && font_size >= data->minimum_font_size)
|
||||
data->font_size = font_size;
|
||||
g_free (label);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -214,7 +217,7 @@ eek_draw_key_label (cairo_t *cr,
|
||||
{
|
||||
guint keysym;
|
||||
EekKeysymCategory category;
|
||||
const gchar *label;
|
||||
gchar *label;
|
||||
PangoLayout *layout;
|
||||
PangoRectangle logical_rect = { 0, };
|
||||
EekBounds bounds;
|
||||
@ -242,6 +245,7 @@ eek_draw_key_label (cairo_t *cr,
|
||||
(bounds.width - logical_rect.width / PANGO_SCALE) / 2,
|
||||
(bounds.height - logical_rect.height / PANGO_SCALE) / 2);
|
||||
pango_cairo_show_layout (cr, layout);
|
||||
g_free (label);
|
||||
g_object_unref (layout);
|
||||
}
|
||||
|
||||
|
||||
@ -23,8 +23,8 @@ includedir=@includedir@
|
||||
|
||||
Name: libeek-gtk
|
||||
Description: A Library to Create Keyboard-like UI (GTK Support)
|
||||
URL: http://github.com/ueno/eekboard
|
||||
URL: http://ueno.github.com/eekboard/
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -leek -leek-gtk
|
||||
Libs.private: @GOBJECT2_LIBS@ @GTK2_LIBS@
|
||||
Requires: eek-@EEK_API_VERSION@ gtk+-2.0
|
||||
Libs: -L${libdir} -leek-gtk
|
||||
Cflags: -I${includedir}/eek-@EEK_API_VERSION@
|
||||
@ -23,6 +23,7 @@
|
||||
* @short_description: #EekKeyboard that can be converted into a #GtkWidget
|
||||
*/
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
@ -114,6 +115,7 @@ eek_gtk_keyboard_finalize (GObject *object)
|
||||
|
||||
for (i = 0; i < EEK_KEYSYM_CATEGORY_LAST; i++)
|
||||
pango_font_description_free (priv->fonts[i]);
|
||||
G_OBJECT_CLASS (eek_gtk_keyboard_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -222,12 +224,15 @@ prepare_keyboard_pixmap_section_callback (EekElement *element,
|
||||
{
|
||||
DrawingContext *context = user_data;
|
||||
EekBounds bounds;
|
||||
gint angle;
|
||||
|
||||
eek_element_get_bounds (element, &bounds);
|
||||
angle = eek_section_get_angle (EEK_SECTION(element));
|
||||
cairo_save (context->cr);
|
||||
cairo_translate (context->cr,
|
||||
bounds.x,
|
||||
bounds.y);
|
||||
cairo_rotate (context->cr, angle * M_PI / 180);
|
||||
eek_container_foreach_child (EEK_CONTAINER(element),
|
||||
prepare_keyboard_pixmap_key_callback,
|
||||
context);
|
||||
@ -298,6 +303,7 @@ on_expose_event (GtkWidget *widget,
|
||||
base_font = gtk_widget_get_style (priv->widget)->font_desc;
|
||||
pango_layout_set_font_description (layout, base_font);
|
||||
eek_get_fonts (EEK_KEYBOARD(keyboard), layout, priv->fonts);
|
||||
g_object_unref (layout);
|
||||
|
||||
prepare_keyboard_pixmap (keyboard);
|
||||
}
|
||||
|
||||
@ -41,7 +41,7 @@ struct eek_keysym_label {
|
||||
#include "eek-unicode-keysym-labels.h"
|
||||
#include "eek-keyname-keysym-labels.h"
|
||||
|
||||
static G_CONST_RETURN gchar *
|
||||
static gchar *
|
||||
unichar_to_utf8 (gunichar uc)
|
||||
{
|
||||
if (g_unichar_isgraph (uc)) {
|
||||
@ -65,7 +65,7 @@ keysym_label_compare (const void *key0, const void *key1)
|
||||
|
||||
static gboolean
|
||||
find_keysym (guint keysym,
|
||||
const gchar **label,
|
||||
gchar **label,
|
||||
EekKeysymCategory *category)
|
||||
{
|
||||
struct eek_keysym_label bsearch_key, *bsearch_val;
|
||||
@ -144,10 +144,10 @@ find_keysym (guint keysym,
|
||||
*
|
||||
* Return a string representation of @keysym.
|
||||
*/
|
||||
G_CONST_RETURN gchar *
|
||||
gchar *
|
||||
eek_keysym_to_string (guint keysym)
|
||||
{
|
||||
const gchar *label;
|
||||
gchar *label;
|
||||
|
||||
if (find_keysym (keysym, &label, NULL))
|
||||
return label;
|
||||
|
||||
@ -51,10 +51,11 @@ typedef enum {
|
||||
EEK_KEYSYM_CATEGORY_FUNCTION,
|
||||
EEK_KEYSYM_CATEGORY_KEYNAME,
|
||||
EEK_KEYSYM_CATEGORY_UNKNOWN,
|
||||
/*< private >*/
|
||||
EEK_KEYSYM_CATEGORY_LAST = EEK_KEYSYM_CATEGORY_UNKNOWN
|
||||
} EekKeysymCategory;
|
||||
|
||||
G_CONST_RETURN gchar *eek_keysym_to_string (guint keysym);
|
||||
gchar *eek_keysym_to_string (guint keysym);
|
||||
EekKeysymCategory eek_keysym_get_category (guint keysym);
|
||||
|
||||
#endif /* EEK_KEYSYM_H */
|
||||
|
||||
@ -23,8 +23,8 @@ includedir=@includedir@
|
||||
|
||||
Name: libeek-xkb
|
||||
Description: A Library to Create Keyboard-like UI (XKB Support)
|
||||
URL: http://github.com/ueno/eekboard
|
||||
URL: http://ueno.github.com/eekboard/
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -leek -leek-xkb
|
||||
Libs.private: @GTK2_LIBS@ @XKB_LIBS@
|
||||
Requires: eek-@EEK_API_VERSION@ gtk+-x11-2.0
|
||||
Libs: -L${libdir} -leek-xkb
|
||||
Cflags: -I${includedir}/eek-@EEK_API_VERSION@
|
||||
@ -169,8 +169,10 @@ create_key (EekXkbLayout *layout,
|
||||
outline->num_points = xkboutline->num_points;
|
||||
outline->points = g_new0 (EekPoint, outline->num_points);
|
||||
for (i = 0; i < xkboutline->num_points; i++) {
|
||||
outline->points[i].x = xkb_to_pixmap_coord(layout, xkboutline->points[i].x);
|
||||
outline->points[i].y = xkb_to_pixmap_coord(layout, xkboutline->points[i].y);
|
||||
outline->points[i].x =
|
||||
xkb_to_pixmap_coord(layout, xkboutline->points[i].x);
|
||||
outline->points[i].y =
|
||||
xkb_to_pixmap_coord(layout, xkboutline->points[i].y);
|
||||
}
|
||||
}
|
||||
g_hash_table_insert (priv->outline_hash, xkbshape, outline);
|
||||
@ -418,7 +420,8 @@ eek_xkb_layout_real_get_group (EekLayout *self)
|
||||
EekXkbLayoutPrivate *priv = EEK_XKB_LAYOUT_GET_PRIVATE (self);
|
||||
XkbStateRec state;
|
||||
|
||||
g_return_val_if_fail (XkbGetState (priv->display, XkbUseCoreKbd, &state), -1);
|
||||
g_return_val_if_fail (XkbGetState (priv->display, XkbUseCoreKbd, &state),
|
||||
-1);
|
||||
return state.group;
|
||||
}
|
||||
|
||||
@ -564,7 +567,7 @@ eek_xkb_layout_new (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* eek_xkb_layout_set_names:
|
||||
* eek_xkb_layout_set_names: (skip)
|
||||
* @layout: an #EekXkbLayout
|
||||
* @names: XKB component names
|
||||
*
|
||||
@ -607,6 +610,44 @@ eek_xkb_layout_set_names (EekXkbLayout *layout, XkbComponentNamesRec *names)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* eek_xkb_layout_set_names_full:
|
||||
* @layout: an #EekXkbLayout
|
||||
* @keymap: keymap component name
|
||||
* @keycodes: keycodes component name
|
||||
* @types: types component name
|
||||
* @compat: compat component name
|
||||
* @symbols: symbols component name
|
||||
* @geometry: geometry component name
|
||||
*
|
||||
* Set the XKB component names to @layout. This function is merely a
|
||||
* wrapper around eek_xkb_layout_set_names() to avoid passing a
|
||||
* pointer of XkbComponentNamesRec, which is not currently available
|
||||
* in the gobject-introspection repository.
|
||||
*
|
||||
* Returns: %TRUE if the component name is successfully set, %FALSE otherwise
|
||||
* Since: 0.0.2
|
||||
*/
|
||||
gboolean
|
||||
eek_xkb_layout_set_names_full (EekXkbLayout *layout,
|
||||
const gchar *keymap,
|
||||
const gchar *keycodes,
|
||||
const gchar *types,
|
||||
const gchar *compat,
|
||||
const gchar *symbols,
|
||||
const gchar *geometry)
|
||||
{
|
||||
XkbComponentNamesRec names;
|
||||
|
||||
names.keymap = (char *)keymap;
|
||||
names.keycodes = (char *)keycodes;
|
||||
names.types = (char *)types;
|
||||
names.compat = (char *)compat;
|
||||
names.symbols = (char *)symbols;
|
||||
names.geometry = (char *)geometry;
|
||||
return eek_xkb_layout_set_names (layout, &names);
|
||||
}
|
||||
|
||||
/**
|
||||
* eek_xkb_layout_set_keycodes:
|
||||
* @layout: an #EekXkbLayout
|
||||
|
||||
@ -60,6 +60,16 @@ EekLayout *eek_xkb_layout_new (void);
|
||||
|
||||
gboolean eek_xkb_layout_set_names (EekXkbLayout *layout,
|
||||
XkbComponentNamesRec *names);
|
||||
|
||||
gboolean eek_xkb_layout_set_names_full
|
||||
(EekXkbLayout *layout,
|
||||
const gchar *keymap,
|
||||
const gchar *keycodes,
|
||||
const gchar *types,
|
||||
const gchar *compat,
|
||||
const gchar *symbols,
|
||||
const gchar *geometry);
|
||||
|
||||
gboolean eek_xkb_layout_set_keycodes
|
||||
(EekXkbLayout *layout,
|
||||
const gchar *keycodes);
|
||||
|
||||
@ -23,8 +23,8 @@ includedir=@includedir@
|
||||
|
||||
Name: libeek-xkl
|
||||
Description: A Library to Create Keyboard-like UI (Libxklavier Support)
|
||||
URL: http://github.com/ueno/eekboard
|
||||
URL: http://ueno.github.com/eekboard/
|
||||
Version: @VERSION@
|
||||
Requires: eek-xkb-@EEK_API_VERSION@ libxklavier
|
||||
Libs: -L${libdir} -leek-xkl
|
||||
Libs.private: @GTK2_LIBS@ @LIBXKLAVIER_LIBS@
|
||||
Cflags: -I${includedir}/eek-@EEK_API_VERSION@
|
||||
@ -318,7 +318,7 @@ merge_xkl_config_rec (XklConfigRec *dst, XklConfigRec *src)
|
||||
}
|
||||
|
||||
/**
|
||||
* eek_xkl_layout_set_config:
|
||||
* eek_xkl_layout_set_config: (skip)
|
||||
* @layout: an #EekXklLayout
|
||||
* @config: Libxklavier configuration
|
||||
*
|
||||
@ -345,6 +345,43 @@ eek_xkl_layout_set_config (EekXklLayout *layout,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* eek_xkl_layout_set_config_full:
|
||||
* @layout: an #EekXklLayout
|
||||
* @model: Libxklavier model name
|
||||
* @layouts: Libxklavier layouts
|
||||
* @variants: Libxklavier variants
|
||||
* @options: Libxklavier options
|
||||
*
|
||||
* Reconfigure @layout with @model, @layouts, @variants, and @options.
|
||||
* This function is merely a wrapper around
|
||||
* eek_xkl_layout_set_config() to avoid passing a pointer of
|
||||
* XklConfigRec, which is not currently available in the
|
||||
* gobject-introspection repository.
|
||||
*
|
||||
* Returns: %TRUE if the component name is successfully set, %FALSE otherwise
|
||||
* Since: 0.0.2
|
||||
*/
|
||||
gboolean
|
||||
eek_xkl_layout_set_config_full (EekXklLayout *layout,
|
||||
gchar *model,
|
||||
gchar **layouts,
|
||||
gchar **variants,
|
||||
gchar **options)
|
||||
{
|
||||
XklConfigRec *config;
|
||||
gboolean success;
|
||||
|
||||
config = xkl_config_rec_new ();
|
||||
config->model = g_strdup (model);
|
||||
config->layouts = g_strdupv (layouts);
|
||||
config->variants = g_strdupv (variants);
|
||||
config->options = g_strdupv (options);
|
||||
success = eek_xkl_layout_set_config (layout, config);
|
||||
g_object_unref (config);
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* eek_xkl_layout_set_model:
|
||||
* @layout: an #EekXklLayout
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
#ifndef EEK_XKL_LAYOUT_H
|
||||
#define EEK_XKL_LAYOUT_H 1
|
||||
|
||||
#include <libxklavier/xklavier.h>
|
||||
#include "eek-xkb-layout.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
@ -53,32 +54,38 @@ struct _EekXklLayoutClass
|
||||
gpointer pdummy[24];
|
||||
};
|
||||
|
||||
GType eek_xkl_layout_get_type (void) G_GNUC_CONST;
|
||||
GType eek_xkl_layout_get_type (void) G_GNUC_CONST;
|
||||
|
||||
EekLayout *eek_xkl_layout_new (void);
|
||||
EekLayout *eek_xkl_layout_new (void);
|
||||
|
||||
gboolean eek_xkl_layout_set_config (EekXklLayout *layout,
|
||||
XklConfigRec *config);
|
||||
gboolean eek_xkl_layout_set_config (EekXklLayout *layout,
|
||||
XklConfigRec *config);
|
||||
|
||||
gboolean eek_xkl_layout_set_model (EekXklLayout *layout,
|
||||
const gchar *model);
|
||||
gboolean eek_xkl_layout_set_layouts (EekXklLayout *layout,
|
||||
gchar **layouts);
|
||||
gboolean eek_xkl_layout_set_variants (EekXklLayout *layout,
|
||||
gchar **variants);
|
||||
gboolean eek_xkl_layout_set_options (EekXklLayout *layout,
|
||||
gchar **options);
|
||||
gboolean eek_xkl_layout_enable_option (EekXklLayout *layout,
|
||||
const gchar *option);
|
||||
gboolean eek_xkl_layout_disable_option (EekXklLayout *layout,
|
||||
const gchar *option);
|
||||
gboolean eek_xkl_layout_set_config_full (EekXklLayout *layout,
|
||||
gchar *model,
|
||||
gchar **layouts,
|
||||
gchar **variants,
|
||||
gchar **options);
|
||||
|
||||
gchar *eek_xkl_layout_get_model (EekXklLayout *layout);
|
||||
gchar **eek_xkl_layout_get_layouts (EekXklLayout *layout);
|
||||
gchar **eek_xkl_layout_get_variants (EekXklLayout *layout);
|
||||
gchar **eek_xkl_layout_get_options (EekXklLayout *layout);
|
||||
gboolean eek_xkl_layout_get_option (EekXklLayout *layout,
|
||||
const gchar *option);
|
||||
gboolean eek_xkl_layout_set_model (EekXklLayout *layout,
|
||||
const gchar *model);
|
||||
gboolean eek_xkl_layout_set_layouts (EekXklLayout *layout,
|
||||
gchar **layouts);
|
||||
gboolean eek_xkl_layout_set_variants (EekXklLayout *layout,
|
||||
gchar **variants);
|
||||
gboolean eek_xkl_layout_set_options (EekXklLayout *layout,
|
||||
gchar **options);
|
||||
gboolean eek_xkl_layout_enable_option (EekXklLayout *layout,
|
||||
const gchar *option);
|
||||
gboolean eek_xkl_layout_disable_option (EekXklLayout *layout,
|
||||
const gchar *option);
|
||||
|
||||
gchar *eek_xkl_layout_get_model (EekXklLayout *layout);
|
||||
gchar **eek_xkl_layout_get_layouts (EekXklLayout *layout);
|
||||
gchar **eek_xkl_layout_get_variants (EekXklLayout *layout);
|
||||
gchar **eek_xkl_layout_get_options (EekXklLayout *layout);
|
||||
gboolean eek_xkl_layout_get_option (EekXklLayout *layout,
|
||||
const gchar *option);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* #ifndef EEK_XKL_LAYOUT_H */
|
||||
|
||||
@ -136,6 +136,8 @@ static void on_options_menu (GtkAction *action,
|
||||
GtkWidget *window);
|
||||
static void on_about (GtkAction *action,
|
||||
GtkWidget *window);
|
||||
static void on_quit (GtkAction * action,
|
||||
GtkWidget *window);
|
||||
#if 0
|
||||
static void on_monitor_key_event_toggled
|
||||
(GtkToggleAction *action,
|
||||
@ -195,7 +197,7 @@ static const GtkActionEntry action_entry[] = {
|
||||
{"FileMenu", NULL, N_("_File")},
|
||||
{"KeyboardMenu", NULL, N_("_Keyboard")},
|
||||
{"HelpMenu", NULL, N_("_Help")},
|
||||
{"Quit", GTK_STOCK_QUIT, NULL, NULL, NULL, G_CALLBACK (gtk_main_quit)},
|
||||
{"Quit", GTK_STOCK_QUIT, NULL, NULL, NULL, G_CALLBACK (on_quit)},
|
||||
{"Country", NULL, N_("Country"), NULL, NULL,
|
||||
G_CALLBACK(on_countries_menu)},
|
||||
{"Language", NULL, N_("Language"), NULL, NULL,
|
||||
@ -237,6 +239,19 @@ on_about (GtkAction * action, GtkWidget *window)
|
||||
"wrap-license", TRUE, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
on_quit (GtkAction * action, GtkWidget *window)
|
||||
{
|
||||
Eekboard *eekboard = g_object_get_data (G_OBJECT(window), "eekboard");
|
||||
|
||||
g_object_unref (eekboard->keyboard);
|
||||
g_object_unref (eekboard->layout);
|
||||
g_object_unref (eekboard->registry);
|
||||
g_object_unref (eekboard->engine);
|
||||
g_slice_free (Eekboard, eekboard);
|
||||
gtk_main_quit ();
|
||||
}
|
||||
|
||||
#if 0
|
||||
static gint
|
||||
key_snoop (AtkKeyEventStruct *event, gpointer func_data)
|
||||
@ -325,13 +340,15 @@ on_changed (EekLayout *layout, gpointer user_data)
|
||||
{
|
||||
Eekboard *eekboard = user_data;
|
||||
GtkWidget *vbox, *widget;
|
||||
GtkAllocation allocation;
|
||||
|
||||
gtk_widget_get_allocation (GTK_WIDGET (eekboard->widget), &allocation);
|
||||
vbox = gtk_widget_get_parent (eekboard->widget);
|
||||
/* gtk_widget_destroy() seems not usable for GtkClutterEmbed */
|
||||
gtk_container_remove (GTK_CONTAINER(vbox), eekboard->widget);
|
||||
|
||||
g_object_unref (eekboard->keyboard);
|
||||
widget = create_widget (eekboard, eekboard->width, eekboard->height);
|
||||
widget = create_widget (eekboard, allocation.width, allocation.height);
|
||||
gtk_container_add (GTK_CONTAINER(vbox), widget);
|
||||
gtk_widget_show_all (vbox);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user