Compare commits

...

635 Commits

Author SHA1 Message Date
Dorota Czaplejewicz
d5dc5c0ddf Merge branch 'dorota.czaplejewicz/squeekboard-font_size' into 'font_size'
Cast later to avoid rounding to zero

See merge request dorota.czaplejewicz/squeekboard!1
2019-08-01 17:23:09 +00:00
David Boddie
172ed08d40 Cast later to avoid rounding to zero 2019-08-01 17:17:44 +00:00
Dorota Czaplejewicz
f27fade744 fonts: Reset font size to a constant
The font size will only be affected by the scaling factor, and not by an attempt to fit the labels into buttons.

Left to do: adjust it based on CSS.
2019-08-01 16:35:33 +00:00
David Boddie
3085a10507 Merge branch 'cleanup' into 'master'
xml: Remove unused file

See merge request Librem5/squeekboard!110
2019-08-01 15:06:43 +00:00
Dorota Czaplejewicz
b5f0aa423b xml: Remove unused file 2019-08-01 14:16:01 +00:00
David Boddie
c8bc2c424f Merge branch 'errors' into 'master'
Errors

See merge request Librem5/squeekboard!107
2019-07-31 18:54:15 +00:00
David Boddie
46fa6d4500 Merge branch 'rust_tests' into 'master'
Rust tests

See merge request Librem5/squeekboard!106
2019-07-31 17:11:33 +00:00
David Boddie
6002774f95 Merge branch 'imservice_cleanups' into 'master'
Imservice cleanups

See merge request Librem5/squeekboard!105
2019-07-31 14:27:13 +00:00
Dorota Czaplejewicz
f7f208883c errors: Make compilation stricter 2019-07-31 14:11:49 +00:00
Dorota Czaplejewicz
5523b00442 test: Add missing gtk include 2019-07-31 14:11:35 +00:00
Dorota Czaplejewicz
c81fdb18de eekelement: Fix case falling through 2019-07-31 14:11:03 +00:00
Dorota Czaplejewicz
778543c719 rust: Add a call to Rust test framework 2019-07-31 11:20:57 +00:00
Dorota Czaplejewicz
18b8972029 bitflags: Use absolute imports
With relative import of the bitflags crate, the macros would try to fetch nonexistent paths, preventing tests form compiling.
2019-07-31 11:13:24 +00:00
Dorota Czaplejewicz
fa31f8eee1 imservice: Check pointer validity 2019-07-31 10:43:39 +00:00
Dorota Czaplejewicz
98a2e33d78 imservice: Use TryFrom for u32->enum conversions 2019-07-31 10:05:35 +00:00
Dorota Czaplejewicz
58d01bf502 imservice: Use discriminants in enums 2019-07-31 10:05:35 +00:00
Dorota Czaplejewicz
8326bd7016 rust: Create a root file for modules
The new `lib.rs` file is created to refer to all modules written in Rust. This way, only one `rustc` call is needed to compile an arbitrary amount of modules. It also converges with the way crates are structured.
2019-07-31 10:05:27 +00:00
Dorota Czaplejewicz
d5f8b0d83b Merge branch 'simplify-rendering' into 'master'
Simplify layout and rendering

See merge request Librem5/squeekboard!102
2019-07-31 09:10:57 +00:00
Dorota Czaplejewicz
e70a898af5 Merge branch 'adjust-keyboard-geometry' into 'master'
Adjust keyboard geometry

See merge request Librem5/squeekboard!103
2019-07-31 06:39:45 +00:00
Dorota Czaplejewicz
df249646bc Merge branch 'update-numeric-keypad' into 'master'
Rename keypad-related files

See merge request Librem5/squeekboard!101
2019-07-31 06:37:09 +00:00
David Boddie
35ff93258e Adjust geometry to match the compact keyboard in places 2019-07-31 00:43:39 +02:00
David Boddie
c58d034494 Adjust bounds of the keyboard to better fit it in the available space 2019-07-31 00:43:36 +02:00
David Boddie
8f1de46381 Simplify layout and rendering
Remove pre-scaling of the bounds for the keyboard and its contents.
Calculate the scale factor based on the allocation and the desired width
and height of each keyboard, using the lower value of the horizontal and
vertical scale factors.
Apply scaling in the renderer and prepare to perform centering there.
2019-07-30 21:48:36 +00:00
David Boddie
1846a67e83 Merge branch 'readme' into 'master'
readme: Change the clone URL

Closes #30

See merge request Librem5/squeekboard!100
2019-07-30 20:39:09 +00:00
David Boddie
35ac14806c Rename keypad-related files 2019-07-30 20:47:29 +02:00
Dorota Czaplejewicz
4aee4915d9 Merge branch 'generate-xkb-files' into 'master'
Generate XKB keymaps from XML instead of using pre-made ones

See merge request Librem5/squeekboard!90
2019-07-30 17:38:06 +00:00
David Boddie
5eeaa1c693 Remove unused geometry file 2019-07-30 19:28:16 +02:00
David Boddie
9b2fcf89e8 Use a test-oriented init call 2019-07-30 17:20:15 +02:00
David Boddie
e801a68f0d Add comments to explain what empty labels do 2019-07-30 16:50:23 +02:00
Dorota Czaplejewicz
ffc5628637 readme: Change the clone URL 2019-07-30 13:08:12 +00:00
Dorota Czaplejewicz
306aa89d06 Merge branch 'content_type' into 'master'
Finish up imservice state

See merge request Librem5/squeekboard!93
2019-07-30 11:44:19 +00:00
Dorota Czaplejewicz
236415cde4 Merge branch 'add-landscape-orientation' into 'master'
Add landscape orientation

See merge request Librem5/squeekboard!99
2019-07-30 11:19:41 +00:00
David Boddie
d49e0eaa1b Center the keyboard in landscape orientation 2019-07-26 22:27:56 +00:00
David Boddie
107399a531 Don't set the geometry of the window in normal use
Setting the geometry prevents the widget from getting the correct
allocation and prevents us from positioning it correctly in
landscape mode.
2019-07-26 22:26:02 +00:00
David Boddie
99a7786dc3 Remove declaration of unused variable 2019-07-26 12:01:04 +02:00
Guido Gunther
d8f48cc48b Merge branch 'use-button-size-for-icons' into 'master'
Use the standard button size for icons

See merge request Librem5/squeekboard!98
2019-07-26 08:04:53 +00:00
David Boddie
2f0beb6d3a Add a simple test of keymap generation 2019-07-25 22:25:30 +02:00
David Boddie
3ab3627ffe Remove unused keymaps 2019-07-25 22:25:30 +02:00
David Boddie
70895999c2 Generate XKB keymaps from XML instead of using pre-made ones 2019-07-25 22:25:29 +02:00
David Boddie
ce311e1bf1 Use the standard button size for icons 2019-07-25 20:14:32 +00:00
David Boddie
e9cf572a3c Only recreate the widget when the keyboard layout changes
Avoid creating a widget before there is a window to put it in.
2019-07-25 18:07:29 +00:00
David Boddie
943b2ad9f3 Merge branch 'xkb_resource_oob_read' into 'master'
Fix out of bounds memory read in get_keymap_from_resource.

See merge request Librem5/squeekboard!97
2019-07-25 13:20:35 +00:00
Piotr Tworek
f86bbb09f8 Fix out of bounds memory read in get_keymap_from_resource.
The function reads resource content into a buffer whose size matches the
size of the file contents. This buffer does not have an extra byte that
would 0 terminate this string. This is by itself is not a problem.
Unfortunately the buffer is passed to g_utf8_make_valid function with
size argument specified as -1 which means the buffer is supposed to be
NULL terminated. The end result is g_utf8_make_valid will read at least
1 byte past "contents" buffer size.

Fix this by specifying buffer size when calling g_utf8_make_valid.
2019-07-24 17:08:19 +02:00
David Boddie
1246776328 Create the keyboard surface every time it is needed
Icons are still blurry the first time the keyboard is shown after
rotation.
2019-07-24 14:04:28 +00:00
David Boddie
ea15f69e73 Render the keyboard to a subsurface of the widget 2019-07-24 13:12:57 +00:00
David Boddie
2e22bb5431 Merge branch 'fix-squeekboard-resources' into 'master'
Ensure that resources are built with the application

See merge request Librem5/squeekboard!95
2019-07-23 23:25:33 +00:00
David Boddie
a9a6e1d2b5 Ensure that resources are built with the application 2019-07-24 01:22:58 +02:00
Dorota Czaplejewicz
7e939c36cc imservice: Call show/hide directly 2019-07-23 20:26:42 +00:00
Dorota Czaplejewicz
c5d2d76ab1 imservice: Handle unavailable message 2019-07-23 20:26:42 +00:00
Dorota Czaplejewicz
622ba6e38a imservice: Handle text change cause
Nothing is being done with this information yet
2019-07-23 20:26:42 +00:00
Dorota Czaplejewicz
fad06348a7 imservice: Make imservice opaque
The structure is defined in Rust, with the intention of evaluating using Rust in this area. It's specifically not defined as repr(C), in order to encourage that. Without the repr, it was unsafe to have its members exposed in C.
2019-07-23 20:26:42 +00:00
Dorota Czaplejewicz
a6ee303123 imservice: Handle content type in Rust
This adds `bitflags.rs` from the bitflags crate.
Due to not wanting to introduce Cargo as the dependency manager yet, it's slightly modified to compile as a naked module.
2019-07-23 20:25:13 +00:00
David Boddie
4b66add65f Merge branch 'ci' into 'master'
Run tests in ci

See merge request Librem5/squeekboard!94
2019-07-23 11:29:34 +00:00
Guido Günther
79dce7c4c3 gitlab-ci: Run tests under xvfb
We create widgets so need a display.
2019-07-23 10:20:07 +02:00
Guido Günther
aff71e0e33 debian: Add test run dependencies
We need xvfb to run the tests since this involves creating GTK
widgets.
2019-07-23 10:20:02 +02:00
David Boddie
9b10f56ba6 Keep the build directory as an artifact 2019-07-23 10:18:44 +02:00
David Boddie
2391947b34 Update CI configuration to enable tests 2019-07-23 10:18:44 +02:00
David Boddie
e903150971 Enable tests, fixing the existing ones to use the current API
This also involved building a static library for the application for
tests to link to. The main application executable also links to it.
2019-07-23 10:18:44 +02:00
David Boddie
7495ec9bbb Merge branch 'remove-includes' into 'master'
Remove unnecessary X11 includes

See merge request Librem5/squeekboard!91
2019-07-20 22:00:58 +00:00
David Boddie
e25d5a84b2 Remove unnecessary X11 includes 2019-07-20 23:57:38 +02:00
David Boddie
88ade4df1b Merge branch 'add-keyboards-for-purposes' into 'master'
Add keyboards for purposes

See merge request Librem5/squeekboard!89
2019-07-20 21:44:30 +00:00
David Boddie
00c3903672 Respond to the input purpose, showing a numeric keypad if requested 2019-07-20 17:33:55 +02:00
David Boddie
c801b17ba0 Add initial files to test specialized keyboard support 2019-07-20 17:33:50 +02:00
David Boddie
9ec8d62f3f Merge branch 'respond-to-input-source-changes' into 'master'
Respond to input source changes

See merge request Librem5/squeekboard!88
2019-07-20 15:31:40 +00:00
David Boddie
b1edcfcb1b Tidy up a merge 2019-07-20 17:26:00 +02:00
David Boddie
54b0f59935 Always create a new widget for a keyboard and update it if already visible 2019-07-20 17:25:55 +02:00
David Boddie
531b09f296 Merge branch 'adapt-keyboard-for-different-levels' into 'master'
Omit keys without labels on the current level, update key definitions

See merge request Librem5/squeekboard!87
2019-07-20 15:24:09 +00:00
David Boddie
e5b6d66d60 Omit keys without labels on the current level, update key definitions 2019-07-20 17:17:37 +02:00
David Boddie
a045810af6 Merge branch 'add-built-in-keymaps' into 'master'
Add built in keymaps

See merge request Librem5/squeekboard!78
2019-07-20 14:42:51 +00:00
David Boddie
d68a8fef9a Merge branch 'resize-icons' into 'master'
Declare the correct size for icons

See merge request Librem5/squeekboard!86
2019-07-20 14:41:29 +00:00
David Boddie
9162d4291f Declare the correct size for icons 2019-07-20 14:39:47 +00:00
David Boddie
93d7699aa7 Merge branch 'make-layout-more-flexible' into 'master'
Make layout handling more flexible

See merge request Librem5/squeekboard!85
2019-07-20 14:31:26 +00:00
David Boddie
6eb63f6a4c Refactor layout code, rescale and reformat when changing level 2019-07-19 17:35:49 +02:00
David Boddie
f6d4ca0387 Place keys after symbols have been read, skipping blank keys 2019-07-19 17:35:49 +02:00
David Boddie
7b41466a77 Start to refactor keyboard section layout 2019-07-19 17:35:49 +02:00
David Boddie
18c25084db Merge branch 'merge-renderers' into 'master'
Move EekGtkRenderer features into EekRenderer

Closes #61

See merge request Librem5/squeekboard!84
2019-07-19 14:56:54 +00:00
David Boddie
a5875402ef Move EekGtkRenderer features into EekRenderer 2019-07-18 15:42:27 +02:00
David Boddie
f3ed1ba247 Merge branch 'config' into 'master'
Clean up config.h (and some other stuff)

See merge request Librem5/squeekboard!83
2019-07-18 11:11:57 +00:00
Guido Günther
633d69baca Drop HAVE_CLUTTER_GTK
We don't use it.
2019-07-17 19:50:53 +02:00
Guido Günther
dbc8cc14bc Generate config.h
This allows us to remove a lot of #ifdef's. Either we want to use
a config.h or we don't. Since we'll want it for e.g. optional gsound
support later on let's have it.
2019-07-17 19:50:53 +02:00
Guido Günther
c65583b911 Add a gitignore file
Based on the phosh one to ignore (upcoming) translations, editor
backup files and so forth.
2019-07-17 19:39:33 +02:00
Guido Günther
3d518b5757 build: Bump meson dep since we use '/' 2019-07-17 19:37:05 +02:00
David Boddie
bfa72d7f61 Merge branch 'less-flicker' into 'master'
Make redisplaying the keyboard faster

Closes #60

See merge request Librem5/squeekboard!82
2019-07-17 16:32:29 +00:00
Guido Günther
373713ba54 ServerContextService: Don't destroy widget all the time
This avoids icon theme lookups and lots of other stuff down the road.

Closes: #60
2019-07-17 17:16:35 +02:00
Guido Günther
068c325ee2 EekGtkRenderer: Use a hash table for icon theme lookups 2019-07-17 17:14:42 +02:00
Guido Günther
3b076e5e64 EekGtkRenderer: Simplify type declaration
It's 2019.
2019-07-17 17:14:42 +02:00
Guido Günther
07d6e3a0f2 ServerContextService: Don't use gtk_widget_show_all
This gives children more flexibility without using `no_show_all`.
2019-07-17 17:14:42 +02:00
David Boddie
7690ef9a1a Merge branch 'layer-shell' into 'master'
Hide/show window instead of destroying it

Closes #42

See merge request Librem5/squeekboard!76
2019-07-17 11:34:10 +00:00
Guido Günther
9974c385e5 EekboardContextService: Don't comment out property setters
This lets us keep the visible property up to date.
2019-07-17 00:44:09 +02:00
Guido Günther
8dafad80b1 ServerContextService: Check for mapped/unmapped
Visible does not tell us if the widget is actually visible on the
screen.
2019-07-17 00:44:00 +02:00
Guido Günther
93e9b2dde9 ServerContextService: Hide the widget instead of destroying it
This is quicker and makes sure we don't stack up surfaces.
2019-07-16 18:52:53 +02:00
Guido Günther
c3a54595ea layersurface: Refresh layersurface on map
If the surface gets unmapped and mapped again we have another GDK window
so we have to reconfigure the layers surface on map and destroy it on
unmap.

This will be merged back into phosh if it works out.
2019-07-16 18:52:36 +02:00
Guido Günther
95ef52fe42 ServerContextService: Remove more unused code
The whole visible/enable logic was disfunctional all the time.
What works is show_keyboard and hide_keyboard.
2019-07-16 18:47:55 +02:00
Guido Günther
c638c40a09 ServerContextService: Drop everything depending on self->was_visible
This was never used so everything depending on it was dead code.
2019-07-16 18:47:55 +02:00
Guido Günther
83d48d24ce ServerContextService: Really destroy the main window
Otherwise layer surfaces keep piling up
2019-07-16 18:47:55 +02:00
Guido Günther
d807e43929 ServerContextService: Drop unneeded code
The layer shell code handles parts of this and others are just
not needed on wayland.
2019-07-16 18:47:55 +02:00
Guido Günther
0a112be956 ServerContextService: Show keyboard when everything else is set up
This avoids some flickering.
2019-07-16 18:47:55 +02:00
Guido Günther
078efa2a6e LayerShell: Set a proper namespace 2019-07-16 18:47:55 +02:00
Guido Günther
5827827008 Update layer surface code from phosh
As of commit 77bba4fcb2d836a58ccf8913d9a514aac6cc49a2. This allows
us to split the widget creation from making it visible.
2019-07-16 18:47:55 +02:00
David Boddie
9c61d8de72 Merge branch 'dbus-prop' into 'master'
EekboardService: Properly toggle keyboard visibility on DBus

Closes #55

See merge request Librem5/squeekboard!80
2019-07-16 13:22:53 +00:00
David Boddie
f72ddc8129 Undo formatting changes 2019-07-16 14:06:49 +02:00
David Boddie
7e9c3b40bb Remove debugging code 2019-07-16 14:00:41 +02:00
David Boddie
a8371af9c0 Fall back to US layout and keymap if needed 2019-07-16 14:00:41 +02:00
David Boddie
4e11d071d9 Add a keymap for the US layout, update the US symbols 2019-07-16 14:00:41 +02:00
David Boddie
a7140705c4 Search for an xkb keymap in the resources 2019-07-16 14:00:41 +02:00
David Boddie
69986132b4 Use keysyms for the Shift modifier 2019-07-16 14:00:41 +02:00
David Boddie
3c97a3a592 Convert symbols file and update test keymap 2019-07-16 14:00:41 +02:00
David Boddie
268dda4da0 Improve symbol mapping 2019-07-16 14:00:41 +02:00
David Boddie
45f58a97b9 Update the test keymap 2019-07-16 14:00:41 +02:00
David Boddie
bdbbaf6099 Use groups to reference keysyms in the keymap 2019-07-16 14:00:41 +02:00
David Boddie
839968dc84 Try using a custom keymap 2019-07-16 14:00:41 +02:00
David Boddie
fbdc5f4a93 Stash for sharing 2019-07-16 14:00:41 +02:00
David Boddie
e5648a82a3 Remove explicit keycodes in XML, auto-generate them instead
This makes it easier to keep the geometry and symbols files in sync.
2019-07-16 14:00:41 +02:00
David Boddie
38133d326b Merge branch 'autogen.sh' into 'master'
Remove more files

See merge request Librem5/squeekboard!81
2019-07-16 11:06:55 +00:00
Guido Günther
cc00fcb5c9 Remove more files
autogen.sh is for automake and the TODO refers to eekboard.
2019-07-16 11:00:59 +02:00
Guido Günther
53f7a14717 EekboardService: Properly toggle keyboard visibility on DBus
Closes: #55
2019-07-16 10:21:59 +02:00
Guido Gunther
922495ca06 Merge branch 'remove-unused-files' into 'master'
Remove unused files and functions

See merge request Librem5/squeekboard!79
2019-07-16 07:16:29 +00:00
David Boddie
e5e2e08ff4 Merge branch 'fewer-redraws' into 'master'
keyboard: Schedule widget redraw instead of gdk_window_invalidate_rect

See merge request Librem5/squeekboard!75
2019-07-15 22:57:12 +00:00
David Boddie
c7c410210b Merge branch 'scale' into 'master'
Honor widget scale  factor

See merge request Librem5/squeekboard!56
2019-07-15 22:27:34 +00:00
David Boddie
cb7c214aa0 Merge branch 'fixes' into 'master'
Fixes

See merge request Librem5/squeekboard!74
2019-07-15 22:20:40 +00:00
David Boddie
6f5f49729c Remove unused files and functions 2019-07-15 23:45:17 +02:00
Guido Günther
94c9442de1 keyboard: Drop now unused clip_bounds_to_dirty_rectangle() 2019-07-15 17:42:32 +02:00
Guido Günther
8c044d0852 keyboard: Schedule widget redraw instead of gdk_window_invalidate_rect
The later would invaliate the drawn area again and again in a ::draw()
handler. This caused infinite redraws when e.g. a key was locked.  To
reproduce break e.g. on `eek_gtk_keyboard_real_draw()` and see how it is
invoked again and again.
2019-07-15 17:42:32 +02:00
Guido Günther
1f0cc0a5f3 keyboard: Don't leak on set_keyboard()
Unref and disconnect signals before setting a new keyboard.
2019-07-15 14:12:10 +02:00
Guido Günther
5693ce3df7 keyboard: Simplify signal disconnect
We're only keeping the signal ids around for disconnect but that only
happens in dispose so it's o.k.to just disconnect all keyboard signals
we listen to.
2019-07-15 14:12:10 +02:00
David Boddie
bcf04ab11e Merge branch 'exclusive-zone' into 'master'
LayerSurface: Make exclusive zone identical to height

Closes #53

See merge request Librem5/squeekboard!72
2019-07-15 11:55:41 +00:00
Guido Günther
086f6bd772 renderer: Only scale by output scale
The original eekboard code scaled icons by a factor. That was simplified
in c529e9ed9c but we can do away with it
completely and fetch the icons at the right size making them not blurry.
2019-07-15 13:23:16 +02:00
Guido Günther
d0fa444a0e Honor the outputs scale factor 2019-07-15 13:13:34 +02:00
Guido Günther
cd81aeb286 get_icon_surface: Add a scale argument
This will allow us to pass the output scale around
2019-07-15 13:13:34 +02:00
Guido Günther
7db33bc92e renderer: Add icons in resource bundle to the icon theme 2019-07-15 13:13:34 +02:00
Guido Günther
fb6c501e44 renderer: Use gtk_icon_theme_load_surface
This will allow us to feed in the output scale.
2019-07-15 13:12:26 +02:00
Guido Günther
ce7b398f7b LayerSurface: Make exclusive zone identical to height
Othewise we hide content beneath the keyboard.

Closes: #53
2019-07-15 12:49:11 +02:00
David Boddie
4d8d3a8109 Merge branch 'suppress-warnings' into 'master'
Suppress warning message

See merge request Librem5/squeekboard!70
2019-07-13 22:14:54 +00:00
David Boddie
a183cf8b63 Suppress warning message 2019-07-14 00:13:41 +02:00
David Boddie
f834edcf94 Merge branch 'fix-compiler-warnings' into 'master'
Fix use of inappropriate type

See merge request Librem5/squeekboard!69
2019-07-13 19:47:40 +00:00
David Boddie
17802a9408 Fix use of inappropriate type 2019-07-13 18:36:59 +02:00
David Boddie
ac1aad881c Merge branch '49-inconsistent-behaviour-of-shift-key-s-pressed-state' into 'master'
Resolve "Inconsistent behaviour of shift key's pressed state"

Closes #49

See merge request Librem5/squeekboard!66
2019-07-13 16:35:07 +00:00
David Boddie
928110a92d Merge branch 'add-missing-icon' into 'master'
Add keyboard preferences icon

See merge request Librem5/squeekboard!68
2019-07-12 21:09:49 +00:00
David Boddie
f6479fafe2 Add keyboard preferences icon 2019-07-12 23:07:01 +02:00
David Boddie
62b1c2ba84 Revert to latch behavior for letters 2019-07-12 19:54:21 +00:00
David Boddie
c0ac5e540f Merge branch 'add-key-icons' into 'master'
Add key icons

Closes #44

See merge request Librem5/squeekboard!65
2019-07-12 19:17:29 +00:00
David Boddie
fb5ec5557b Make icons smaller 2019-07-12 20:12:09 +02:00
David Boddie
74d94e6792 Merge branch 'remove-unused-xml' into 'master'
Remove unused XML from the US definitions

See merge request Librem5/squeekboard!64
2019-07-12 18:08:55 +00:00
David Boddie
63f4c6b4da Use icons for Shift and Return in the US layout 2019-07-12 20:04:50 +02:00
David Boddie
2774c1c988 Try to load icons from app resources first 2019-07-12 20:04:22 +02:00
David Boddie
469b0c0a9a Add icons to the resource manifest 2019-07-12 20:04:02 +02:00
David Boddie
2ddd217737 Add Enter and Shift icons 2019-07-12 19:16:21 +02:00
David Boddie
c4e8e34ad6 Remove unused XML from the US definitions 2019-07-12 17:15:38 +00:00
David Boddie
4dc18c0af4 Merge branch '27-period-should-not-change-when-caps-lock-is-active' into 'master'
Resolve "Period should not change when caps lock is active"

Closes #27

See merge request Librem5/squeekboard!63
2019-07-12 17:11:10 +00:00
David Boddie
55c6911b87 Remove level with > character from . key 2019-07-12 17:17:11 +02:00
David Boddie
9bf0da5409 Merge branch 'adjust-scaling' into 'master'
Reduce icon size to match platform guidelines

See merge request Librem5/squeekboard!62
2019-07-12 15:15:43 +00:00
David Boddie
7d5b2dd1de Reduce icon size to match platform guidelines 2019-07-12 16:10:31 +02:00
David Boddie
6091632e40 Merge branch 'simplify-geometry-xml' into 'master'
Simplify geometry XML

See merge request Librem5/squeekboard!61
2019-07-12 14:09:57 +00:00
David Boddie
44110fd4d9 Remove bounds for everything except the geometry element 2019-07-12 14:00:20 +00:00
David Boddie
74d76ebfeb Remove unused XML elements 2019-07-12 14:00:20 +00:00
David Boddie
760bc138b0 Test effect of setting attributes to zero 2019-07-12 14:00:20 +00:00
David Boddie
2a4763d4f3 Merge branch 'fix-bottom-margin' into 'master'
Include extra space in the window object

Closes #47

See merge request Librem5/squeekboard!60
2019-07-12 13:42:20 +00:00
David Boddie
4b92f205ef Include extra space in the window object 2019-07-12 10:30:44 +00:00
David Boddie
a5668fa1db Merge branch 'remove-pressed-key-popups' into 'master'
Remove pop-ups for pressed keys

See merge request Librem5/squeekboard!59
2019-07-11 23:42:34 +00:00
David Boddie
de39256377 Remove pop-ups for pressed keys 2019-07-11 23:39:33 +00:00
David Boddie
f53709c83d Merge branch 'fix-bottom-margin' into 'master'
Fix clipping issue at bottom of keyboard

Closes #47

See merge request Librem5/squeekboard!58
2019-07-11 23:07:01 +00:00
David Boddie
8ad0192e55 Fix clipping issue at bottom of keyboard
Closes #47.
2019-07-11 23:04:29 +00:00
David Boddie
791e454cb6 Merge branch 'functioning-views' into 'master'
Basic functioning views

See merge request Librem5/squeekboard!57
2019-07-11 22:58:50 +00:00
David Boddie
c85638be4d Use a dummy, non-emitting key to switch views 2019-07-11 19:38:02 +00:00
Guido Gunther
a61b1fdf06 Merge branch 'implement-more-view-behavior' into 'master'
Improve view behavior to more closely reflect #38

See merge request Librem5/squeekboard!55
2019-07-11 16:29:26 +00:00
David Boddie
07c25d1d91 Improve view behavior to more closely reflect #38 2019-07-11 16:29:26 +00:00
Guido Gunther
83dafd87a4 Merge branch 'copyright' into 'master'
Copyright

See merge request Librem5/squeekboard!6
2019-07-11 13:49:00 +00:00
David Boddie
25a8733957 Merge branch 'scale' into 'master'
Simplify icon rendering a bit

See merge request Librem5/squeekboard!52
2019-07-11 13:42:50 +00:00
Guido Günther
c529e9ed9c render: Simplify drawing
Instead of doing scale guessing we know that we get a properly
sized image from GTK+ so just scale it down a bit so it gets
some border within the drawing area.
2019-07-11 15:40:18 +02:00
Guido Günther
d6a8a85b5e render: Get foreground color only once 2019-07-11 15:40:18 +02:00
Guido Günther
3a945535f7 render: Remove trailing white space 2019-07-11 15:40:18 +02:00
Guido Günther
0fc4374193 gtk-renderer: Simplify 2019-07-11 15:40:18 +02:00
David Boddie
e350b4ab92 Merge branch 'some-bugfixes' into 'master'
MERGE these: Some bugfixes - the buildsystem is acting up again

See merge request Librem5/squeekboard!53
2019-07-11 13:39:56 +00:00
David Boddie
626527ee09 Merge branch 'feature-xml-resources' into 'master'
FINAL: bundle xml resources, allows running uninstalled from git repo

Closes #29 and #21

See merge request Librem5/squeekboard!49
2019-07-11 13:33:45 +00:00
David Boddie
c4a462c385 Merge branch 'ci' into 'master'
gitlab-ci: No need for our ci repository

See merge request Librem5/squeekboard!54
2019-07-11 13:16:32 +00:00
Guido Günther
706a04dbfc gitlab-ci: No need for our ci repository
Just using debian buster makes things more stable.
2019-07-11 14:31:25 +02:00
Guido Günther
7fd51af4de debian: Drop virtboard build-dependency 2019-07-11 14:31:25 +02:00
Guido Günther
c1af9b2ba4 Add dbus protocol definition
This let's us drop the virtboard build dependency.
2019-07-11 14:31:25 +02:00
Hysterical Raisins
5efb4cc58d Bundle keyboard definitions
This allows running uninstalled from a git repo

Closes: #21, #29
2019-07-11 13:40:03 +02:00
Hysterical Raisins
4b2977d601 Plug 3 leaks 2019-07-11 13:26:04 +02:00
Hysterical Raisins
2f1c1c2fb1 Remove unused variable and remove damage from botched rebase
- remove bounds it is not used.

- remove the g_clear_pointer, it does the same thing as the if-block
  above, the were both there as the result of the merge, and it is
  apparently easily overlooked

- cleanup after myself (FIXMEs)
2019-07-11 13:24:48 +02:00
David Boddie
f47ef09a1f Merge branch 'implement-basic-views' into 'master'
Implement basic keyboard views

See merge request Librem5/squeekboard!51
2019-07-11 10:24:29 +00:00
David Boddie
47041b0fac Implement basic keyboard views
Use existing concepts of levels and modifier latches and locks to
implement the three view design of issue #38.

The use of a lock to switch from letter to numbers and a latch to
handle upper and lower case has side effects, but these can be
addressed in a future commit.
2019-07-10 23:33:45 +00:00
Sebastian Krzyszkowiak
b6111b5e00 Merge branch 'fix-backspace-key' into 'master'
Specify a keyval to make the backspace key work again

Closes #45

See merge request Librem5/squeekboard!50
2019-07-10 23:12:59 +00:00
David Boddie
b8a2b2d7c8 Specify a keyval to make the backspace key work again 2019-07-11 01:09:04 +02:00
David Boddie
0765ea1b86 Merge branch 'update-symbols' into 'master'
Update symbols to more closely resemble #38

See merge request Librem5/squeekboard!48
2019-07-10 22:20:30 +00:00
David Boddie
64223704e0 Update symbols to more closely resemble #38 2019-07-10 23:50:34 +02:00
Guido Gunther
8c14763ea4 Merge branch 'theme-path' into 'master'
Drop now unused theme_path

See merge request Librem5/squeekboard!46
2019-07-10 17:09:58 +00:00
Guido Gunther
10cd93022a Merge branch 'update-icons' into 'master'
Use an icon for backspace

See merge request Librem5/squeekboard!47
2019-07-10 16:57:09 +00:00
David Boddie
d006aede6a Merge branch 'top-margin' into 'master'
Add some border at the top

Closes #28

See merge request Librem5/squeekboard!43
2019-07-10 15:46:16 +00:00
Guido Günther
b57e1ce660 Drop now unused theme_path 2019-07-10 15:39:16 +02:00
David Boddie
1b59c4dad3 Use an icon for backspace 2019-07-10 14:36:19 +02:00
David Boddie
189c721d7e Merge branch 'use_gresource' into 'master'
Use a gresource to store the css

See merge request Librem5/squeekboard!28
2019-07-10 11:36:53 +00:00
David Boddie
1ff1592f24 Merge branch 'master' into 'use_gresource'
# Conflicts:
#   src/server-context-service.c
2019-07-10 11:35:40 +00:00
Guido Günther
7f5f310bf0 Add some border at the top
Closes: #28
2019-07-10 11:31:24 +02:00
David Boddie
f999861228 Merge branch 'remove-more-unused-code-and-data' into 'master'
Remove unused color definitions

See merge request Librem5/squeekboard!42
2019-07-09 21:40:36 +00:00
David Boddie
a571bd7dca Remove unused color definitions 2019-07-09 17:55:40 +02:00
David Boddie
3d0d28fa01 Merge branch 'remove-unused-eekboard-context-service-code' into 'master'
Remove currently unused eekboard code

See merge request Librem5/squeekboard!41
2019-07-09 15:48:59 +00:00
David Boddie
4c54b49ef5 Merge branch 'remove-unused-sources' into 'master'
Remove unlisted files

See merge request Librem5/squeekboard!38
2019-07-09 14:44:00 +00:00
David Boddie
eb940bcf52 Remove currently unused eekboard code 2019-07-09 16:34:16 +02:00
David Boddie
be0e773879 Merge branch 'quick-review-fast-lane-very-speedy' into 'master'
Some cleanups, and some FIXME hints for future work (no functional changes)

See merge request Librem5/squeekboard!39
2019-07-09 14:25:45 +00:00
David Boddie
056e07e80e Merge branch 'prevent-warnings' into 'master'
Prevent compiler warnings by commenting out unused code

See merge request Librem5/squeekboard!37
2019-07-09 13:44:54 +00:00
David Boddie
83b36d07d0 Add note about unused code 2019-07-09 15:28:02 +02:00
Hysterical Raisins
89aaf05aff Some minor cleanups 2019-07-09 13:52:23 +02:00
Hysterical Raisins
2f87fd46fb Improve codeflow 2019-07-09 13:50:14 +02:00
Hysterical Raisins
e04276ee38 Use properly typed and named variables for user_data 2019-07-09 13:46:44 +02:00
Hysterical Raisins
05c3061f08 Add some FIXME hints for future work 2019-07-09 13:41:20 +02:00
Hysterical Raisins
c33006bcbc use g_clear_pointer with gtk_widget_destroy
brief, clear, idiomatic and grep friendly
2019-07-09 13:33:49 +02:00
David Boddie
4bf4500ae1 Remove unlisted files 2019-07-09 01:07:19 +02:00
David Boddie
e2944ff4a7 Use a macro to declare a type with private data 2019-07-09 00:46:03 +02:00
David Boddie
f79b5dadbb Use a macro to declare a type with private data 2019-07-09 00:41:25 +02:00
David Boddie
4d44129b04 Prevent compiler warnings by commenting out unused code 2019-07-09 00:24:57 +02:00
David Boddie
b3e1d84e6c Merge branch 'mem' into 'master'
Fix visibility-related bugs

See merge request Librem5/squeekboard!25
2019-07-08 21:25:27 +00:00
David Boddie
6702edaa9d Merge branch 'fix-deprecated-warnings' into 'master'
Fix deprecated warnings

See merge request Librem5/squeekboard!34
2019-07-08 21:19:57 +00:00
David Boddie
a3a6e5933a Merge branch 'quick-review-fast-lane-very-speedy' into 'master'
Quick review fast lane very speedy

See merge request Librem5/squeekboard!36
2019-07-08 21:01:40 +00:00
Hysterical Raisins
66ec95ebb0 fix-up prototypes (-Wincompatible-pointer-types) 2019-07-08 09:21:26 +02:00
Hysterical Raisins
a944bf85b8 remove stray const (-Wdiscarded-qualifiers) 2019-07-08 09:20:17 +02:00
Hysterical Raisins
1d1829f664 fix accidentally committed line (-Wincompatible-pointer-types) 2019-07-08 09:18:41 +02:00
Hysterical Raisins
094aa872ce Cleanups: fix deprecated g_type_class_add_private()
- use G_DECLARE_ and G_DEFINE_ macros
- move all data into ClassNamePrivate
- use _get_instance_private()

This should not introduce any functional changes or breakage.

Skipped two classes (EekKeyboard and EekboardContextService) for now in
order not to break the build.

These two classes are used in some very funky WIP code that tries to
circumvent encapsulation.

(Funky code is in eekboard/key-emitter.c and eekboard/eekboard-context-service.c)
2019-07-08 08:44:05 +02:00
Hysterical Raisins
eaf925e30b Cleanups: fix g_type_init() deprecation warning
None of this seems necessary anymore. This file could be axed, but leave
it for now.
2019-07-08 08:39:43 +02:00
Hysterical Raisins
722d3d1ad4 Cleanups: fix deprecations
gtk_widget_get_root_window()
	gdk_screen_get_monitor_at_window()
	gdk_screen_get_monitor_geometry()
2019-07-08 08:39:16 +02:00
Dorota Czaplejewicz
b69b3e9409 Merge branch 'fix-uninitialized-var' into 'master'
Fix an uninitialized-variable warning, and fixes gradients (quickie)

See merge request Librem5/squeekboard!35
2019-07-07 17:37:11 +00:00
Hysterical Raisins
ae5eaeec93 Fix an uninitialized-variable warning, and fixes gradients 2019-07-07 18:45:56 +02:00
Dorota Czaplejewicz
c393eb20be Merge branch 'improve-key-rendering' into 'master'
Improve key rendering and eliminate two deprecation warnings

See merge request Librem5/squeekboard!33
2019-07-07 11:39:12 +00:00
Hysterical Raisins
0e8715b4ff Improve key rendering and eliminate two deprecation warnings
- Replace two calls to deprecated gdk_cairo_create()

- Alleviate asymmetry between rendering pressed and released keys
  by consistenly clipping the same area up front to avoid
  artefacts

- make sure pressed and released keys are shown immediately by
  calling gdk_window_invalidate_rect()

- improve consistency between render_(pressed|locked|released)_key

- improve code flow
2019-07-07 11:34:24 +02:00
Dorota Czaplejewicz
b09c812579 Merge branch 'drop-icons' into 'master'
Drop icons

See merge request Librem5/squeekboard!29
2019-07-04 18:34:15 +00:00
Dorota Czaplejewicz
d6f7c271e2 Merge branch 'kill-automake' into 'master'
Remove automake leftovers

See merge request Librem5/squeekboard!27
2019-07-04 18:26:24 +00:00
Guido Günther
f1d97e396b Drop icons
They're not being installed and we want ones matching current
GNOME design anyway.
2019-07-04 16:25:05 +02:00
Guido Günther
abf8f4daa8 eek-theme: Remove code for old croko versions
These versions aren't even in Debian's oldstable release.
2019-07-04 16:21:18 +02:00
Guido Günther
aba242301d Use a gresource to store the css
This makes build / test faster since one can skip install. It's
also more obvious which file is being used.
2019-07-04 16:16:04 +02:00
Guido Günther
7a52080940 Remove automake leftovers 2019-07-04 14:51:00 +02:00
Dorota Czaplejewicz
c3ffe6ab8b visibility: Handle visibility change no-ops 2019-07-04 08:48:43 +00:00
Tobias Bernard
851a9185c0 Merge branch 'margins' into 'master'
style: Fix right margin

See merge request Librem5/squeekboard!26
2019-07-04 08:44:52 +00:00
Dorota Czaplejewicz
c1e1ddb73f style: Fix right margin
For some reason, adjusting the width of the keyboard layout affects the margin when used at 360 width.
2019-07-04 08:27:37 +00:00
Guido Gunther
d530c1d6d6 Merge branch 'session' into 'master'
session: Register to the session manager

See merge request Librem5/squeekboard!24
2019-07-04 08:27:00 +00:00
Dorota Czaplejewicz
43579b51f0 session: Register to the session manager
Registering as "sm.puri.OSK0", because that's as much as the session knows about the virtual keyboard.
2019-07-04 07:58:34 +00:00
Dorota Czaplejewicz
3d1133cdb5 Fix memory corruption due to a wrong assumption 2019-07-04 07:48:46 +00:00
Dorota Czaplejewicz
e27af9fd24 Merge branch 'be-explicit-about-meson' into 'master'
Specify the build system when building a package

See merge request Librem5/squeekboard!23
2019-07-03 22:28:20 +00:00
David Boddie
a7c6597246 Specify the build system when building a package 2019-07-04 00:18:42 +02:00
David Boddie
fd6d873c01 Merge branch 'add-debian-source-format' into 'squeekboard'
Add missing packaging file

See merge request Librem5/squeekboard!22
2019-07-03 19:40:43 +00:00
David Boddie
89dee04cdf Add missing packaging file 2019-07-03 21:35:24 +02:00
Guido Gunther
3b0a073964 Merge branch 'conflict' into 'squeekboard'
build: Apply fixes/suggestions

See merge request Librem5/squeekboard!21
2019-07-03 08:48:40 +00:00
Dorota Czaplejewicz
a129863a4d build: Apply fixes/suggestions
Following comments on https://source.puri.sm/Librem5/squeekboard/merge_requests/20
2019-07-02 20:14:12 +00:00
Dorota Czaplejewicz
5b700f7dfc Merge branch 'modifiers' into 'squeekboard'
Modifiers

See merge request Librem5/squeekboard!19
2019-07-02 18:44:33 +00:00
Dorota Czaplejewicz
d982bcb5e4 Merge branch 'conflict' into 'squeekboard'
Fix virtboard conflict

See merge request Librem5/squeekboard!20
2019-07-02 18:18:19 +00:00
Dorota Czaplejewicz
61a5e8d4fd install: Don't distribute dbus definition
Instead, require virtboard to provide it.
2019-07-02 18:13:34 +00:00
Dorota Czaplejewicz
cb641bd221 ci: Prevent caching of build directory 2019-07-02 18:11:49 +00:00
Dorota Czaplejewicz
2f6e9a1756 Merge branch 'remove-trigger-in-packaging' into 'squeekboard'
Remove unnecessary trigger

See merge request Librem5/squeekboard!18
2019-07-02 13:23:47 +00:00
David Boddie
51b183a0f3 Remove unnecessary trigger 2019-07-02 13:23:47 +00:00
David Boddie
d071bb04af Merge branch 'linking' into 'squeekboard'
build: Link Rust library statically

See merge request Librem5/squeekboard!16
2019-07-02 13:19:14 +00:00
Dorota Czaplejewicz
14887f9c99 layout: Change label for Level 3 modifier 2019-07-02 13:09:33 +00:00
Dorota Czaplejewicz
654909261e modifiers: Level 3 works 2019-07-02 13:03:35 +00:00
Dorota Czaplejewicz
ab2a27345d Merge branch 'modifiers' into 'squeekboard'
modifiers: Seem to be emitted correctly

See merge request Librem5/squeekboard!17
2019-07-02 11:54:34 +00:00
Dorota Czaplejewicz
484eb3303c modifiers: Seem to be emitted correctly 2019-07-02 11:52:45 +00:00
Dorota Czaplejewicz
319d64e1e5 build: Link Rust library statically 2019-07-02 10:11:32 +00:00
Dorota Czaplejewicz
60250ca5e5 Merge branch 'font-size' into 'squeekboard'
hack: Adjust font size

See merge request Librem5/squeekboard!15
2019-07-01 15:41:10 +00:00
Dorota Czaplejewicz
d729bb3a89 hack: Adjust font size 2019-07-01 15:27:06 +00:00
Dorota Czaplejewicz
4dc55635d7 Merge branch 'new_layout' into 'squeekboard'
New layout

See merge request Librem5/squeekboard!13
2019-07-01 15:04:32 +00:00
Dorota Czaplejewicz
4af49ef7b6 layout: Make keys higher 2019-07-01 13:31:53 +00:00
Dorota Czaplejewicz
3a42e66504 layout: Position keys closer to the left edge 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
250b196b81 theme: Use mockup colors 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
9ba1987cab layout: Moved keys a bit to the left 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
909b1e2a28 theme: Adjust colors to match the mockup closer 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
e46af41abf layouts: Fixed spacing 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
17671a3b08 layout: Use outlines for key bounds 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
b8eb7752e7 layout: Using bigger keys 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
5e92f45111 layout: Arrange keys similar to mockup 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
baf848c791 layout: Ignore keycodes without corresponding keys 2019-07-01 12:57:52 +00:00
Dorota Czaplejewicz
737d57c1f4 Merge branch 'install-rslib' into 'squeekboard'
Install rslib

See merge request Librem5/squeekboard!12
2019-07-01 12:57:22 +00:00
David Boddie
9985ad7ee1 Fix lintian package-must-activate-ldconfig-trigger error 2019-07-01 01:46:16 +02:00
David Boddie
025b55e1a2 Install rslib 2019-07-01 00:05:42 +02:00
Dorota Czaplejewicz
14fbabe8d7 Merge branch 'popup' into 'squeekboard'
Pop up when input requested

See merge request Librem5/squeekboard!10
2019-06-30 19:04:42 +00:00
Dorota Czaplejewicz
b746f7a70e input method: Pop up the keyboard 2019-06-30 19:03:24 +00:00
Dorota Czaplejewicz
0d3b003aac input method: Initialize the protocol and pretend to handle a few things 2019-06-30 19:03:24 +00:00
Dorota Czaplejewicz
9428927879 Merge branch 'build-dep' into 'squeekboard'
ci: Use build-dep instead of a dependency list

See merge request Librem5/squeekboard!11
2019-06-30 19:03:08 +00:00
Dorota Czaplejewicz
511b2f7186 ci: Use build-dep instead of a dependency list 2019-06-30 19:01:36 +00:00
Dorota Czaplejewicz
d8c83e3c65 Merge branch 'touch' into 'squeekboard'
Touch support

See merge request Librem5/squeekboard!9
2019-06-30 06:11:16 +00:00
Dorota Czaplejewicz
050fd6f3ba Touch support
Single stream of touch events.
2019-06-29 12:56:04 +00:00
Dorota Czaplejewicz
72d6a8d4e1 Merge branch 'wayland-gen' into 'squeekboard'
build: Use 'client-code' instead of 'code' for protocols

See merge request Librem5/squeekboard!8
2019-06-29 12:47:27 +00:00
Dorota Czaplejewicz
30d35216f6 build: Use 'client-code' instead of 'code' for protocols 2019-06-29 12:46:08 +00:00
Dorota Czaplejewicz
bcd0d40912 Merge branch 'fixes' into 'squeekboard'
fix: Remove leftover debug print

See merge request Librem5/squeekboard!7
2019-06-29 12:18:59 +00:00
Dorota Czaplejewicz
4b8a6bbbe0 fix: Remove leftover debug print 2019-06-29 12:16:34 +00:00
Dorota Czaplejewicz
47026b669b Make copyright more granular 2019-06-29 10:50:30 +00:00
Dorota Czaplejewicz
752dc467a8 Merge branch 'desktop-file' into 'squeekboard'
Add a desktop file

See merge request Librem5/squeekboard!5
2019-06-29 10:13:20 +00:00
Dorota Czaplejewicz
bde45b262a Merge branch 'debian-files' into 'squeekboard'
Add Debian packaging files

See merge request Librem5/squeekboard!4
2019-06-29 10:10:15 +00:00
David Boddie
fc338f5723 Add Debian packaging files 2019-06-29 10:10:15 +00:00
David Boddie
346ed453ef Start working on a desktop file 2019-06-26 18:17:54 +02:00
David Boddie
664f05edba Remove unnecessary build dependency 2019-06-26 17:45:23 +02:00
David Boddie
edcff44f4b Add another build dependency, add an empty rule to override autoreconf 2019-06-26 17:35:13 +02:00
David Boddie
42ee5d2ddb Update packaging files 2019-06-26 17:35:05 +02:00
David Boddie
54e421d7e6 Add initial Debian packaging 2019-06-26 17:35:00 +02:00
Dorota Czaplejewicz
9e5629d1e0 Enable Wayland's virtual-keyboard protocol
This commit includes a little restructuring necessary for keeping wayland objects properly.
It doesn't fix broken modifier functionality yet.
2019-06-25 18:12:15 +00:00
Dorota Czaplejewicz
c0fdffac28 Separate keyboards from the dbus handler 2019-06-23 10:59:45 +00:00
Dorota Czaplejewicz
e94e64d204 Move dbus setup closer together 2019-06-23 10:42:20 +00:00
Dorota Czaplejewicz
e503e35b84 Rename squeak_ to squeek_ for consitency 2019-06-23 10:30:25 +00:00
Dorota Czaplejewicz
752592a3d8 Fixed build 2019-06-23 10:29:18 +00:00
Dorota Czaplejewicz
2e6d194a6f Remove server-service 2019-06-23 10:26:24 +00:00
Dorota Czaplejewicz
63dfb07b51 Simplify the storage of context 2019-06-23 09:54:09 +00:00
Dorota Czaplejewicz
02525056d6 Removed X11 header, added some clarifications 2019-06-22 16:20:03 +00:00
Dorota Czaplejewicz
8292429648 Context: removing more unused things 2019-06-22 16:04:33 +00:00
Dorota Czaplejewicz
765c496068 Removed more unused stuff in context 2019-06-22 15:57:48 +00:00
Dorota Czaplejewicz
d6feec8010 Removed d-bus paths from service class 2019-06-22 15:40:20 +00:00
Dorota Czaplejewicz
f1fbb37547 Kill connection in context service 2019-06-22 15:31:08 +00:00
Dorota Czaplejewicz
5a6386dd24 Fixed rendering deprecation warnings 2019-06-22 13:13:55 +00:00
Dorota Czaplejewicz
0809db9e32 Remove some rendering code with no effect and warnings 2019-06-22 12:56:33 +00:00
Dorota Czaplejewicz
15a3315854 Fix dragging across the keyboard 2019-06-22 12:34:10 +00:00
Dorota Czaplejewicz
82d1f256b2 Remove released and cancelled key events 2019-06-22 12:23:04 +00:00
Dorota Czaplejewicz
e7ba2a0eb0 Got rid of signals in the pressed path 2019-06-19 17:00:30 +00:00
Dorota Czaplejewicz
eff0449b3a Redrawing key after press is happening directly 2019-06-19 16:51:57 +00:00
Dorota Czaplejewicz
3b9e066ec8 Simplify key press handling 2019-06-19 16:05:37 +00:00
Dorota Czaplejewicz
260ab42b9e Forward press timestamps 2019-06-19 15:56:19 +00:00
Dorota Czaplejewicz
a3d745edd0 Moved key pressing from context to keyboard 2019-06-19 15:27:29 +00:00
Dorota Czaplejewicz
40a92fe730 Ignoring section.key-pressed 2019-06-19 14:11:23 +00:00
Dorota Czaplejewicz
e30bb23711 build: Add debug/release options 2019-06-18 13:37:10 +00:00
Dorota Czaplejewicz
292c1d08d8 fixes: Minor type and include mismatches 2019-06-16 12:55:50 +00:00
Dorota Czaplejewicz
be56447614 readme: Update development installation info 2019-06-16 12:13:43 +00:00
Dorota Czaplejewicz
70fda8ba64 Fix releasing buttons when dragged 2019-04-06 18:46:33 +00:00
Dorota Czaplejewicz
5cc407986b Ignore multi-clicks and non-left-buttons 2019-04-06 18:35:06 +00:00
Dorota Czaplejewicz
53af829f46 Send both press and release events 2019-04-06 17:45:06 +00:00
Dorota Czaplejewicz
53065a6d95 Fix crash on double click 2019-04-05 18:42:11 +00:00
Dorota Czaplejewicz
862cfdb55d Showing and hiding 2019-04-05 18:36:25 +00:00
Dorota Czaplejewicz
b065b16bf1 Use layer shell 2019-04-05 15:39:57 +00:00
Dorota Czaplejewicz
6ff33b48d1 dbus: Add missing schema 2019-03-27 13:48:53 +00:00
Dorota Czaplejewicz
d04020f79c readme: Use language with non-US layout 2019-03-27 13:33:40 +00:00
Dorota Czaplejewicz
6b15072764 dbus: Use generated code 2019-03-23 09:36:53 +00:00
Dorota Czaplejewicz
f261115ac4 ci: Change job name to meson 2019-03-22 19:06:29 +00:00
Dorota Czaplejewicz
116f130c4c readme: Remove settings schema variable 2019-03-22 19:00:03 +00:00
Dorota Czaplejewicz
cad1b02482 settings: Switching layouts according to input settings 2019-03-22 17:18:12 +00:00
Dorota Czaplejewicz
09fe69f63a cleanup: Remove Context dbus interface remains 2019-03-22 16:35:02 +00:00
Dorota Czaplejewicz
8ecd81d51c settings: Fall back to "us" layout when no file found 2019-03-22 16:20:39 +00:00
Dorota Czaplejewicz
8f71b010cc settings: Removed custom settings schema 2019-03-22 15:52:35 +00:00
Dorota Czaplejewicz
b817c6189d build: Update keysym generator to Python3 2019-03-22 13:09:21 +00:00
Dorota Czaplejewicz
a00d41930d readme: Update features 2019-03-22 07:23:17 +00:00
Dorota Czaplejewicz
caee942796 build, readme: Update build and run instructions 2019-03-22 07:23:17 +00:00
Dorota Czaplejewicz
d3410fdc61 Keyboard shows up on a single ShowKeyboard 2019-03-22 07:23:12 +00:00
Dorota Czaplejewicz
8087c3e5d4 build: Use only meson for squeekboard
This breaks autoconf. The only resulting binary is the squeekboard GUI. It still needs the autotools-built eekboard client in order to do anything useful. That one needs to be built using a different branch, making this a WIP.
2019-03-15 20:59:29 +00:00
Dorota Czaplejewicz
10bd0ea09e build: Remove eekboard-server 2019-03-14 20:40:27 +00:00
Dorota Czaplejewicz
5803222e68 build: Remove libeekboard dependency 2019-03-14 18:03:10 +00:00
Dorota Czaplejewicz
a243fce1ae build: Squeekboard build in meson 2019-03-14 17:29:13 +00:00
Dorota Czaplejewicz
c8059ebf50 stubbing: Key generation events
Only enabled when Xtest is in use. It's probably always meant to be in use though, as this piece of code also opens the preferences dialog
2019-03-14 11:09:35 +00:00
Dorota Czaplejewicz
ce2d270e7c ci: Add config flags relevant for Wayland builds 2019-03-13 18:08:56 +00:00
Dorota Czaplejewicz
0c945bdc7e readme: Update build and run instructions 2019-03-13 17:59:59 +00:00
Dorota Czaplejewicz
60ec684853 readme: Moved to Markdown 2019-03-13 17:59:54 +00:00
Dorota Czaplejewicz
b159625e62 Add gitlab CI 2019-02-14 16:57:39 +00:00
Daiki Ueno
e212262f29 Stop key-repeat when the server receives a new D-Bus event.
Key-repeat timer should be cleared when the server receives a new D-Bus.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=857977
2012-10-01 11:55:04 +09:00
Daiki Ueno
c71167d893 Fix out-of-tree build. 2012-10-01 11:55:00 +09:00
Daiki Ueno
2d4e4c7a13 Fix compiler warnings. 2012-10-01 11:37:47 +09:00
Daiki Ueno
695f8df5b8 Bump version to 1.0.8. 2012-08-15 17:28:23 +09:00
Daiki Ueno
2e822cb6a6 Don't crash when all the keyboards are removed. 2012-08-15 17:27:20 +09:00
Daiki Ueno
f2a90935a3 Make "visible" property per client instead of per context. 2012-04-24 18:38:32 +09:00
Daiki Ueno
cee741eca0 Fix initial window size. 2012-04-24 12:48:35 +09:00
Daiki Ueno
b5b59e77d6 Check errors when retrieving XKB layout information. 2012-04-24 11:58:41 +09:00
Daiki Ueno
cce883808e Simplify eek-xkb-layout.c. 2012-04-24 11:01:42 +09:00
Daiki Ueno
8faae7ef08 Use git.mk. 2012-04-24 10:38:36 +09:00
Daiki Ueno
4538ef38a1 Revert "Remove eek-xkb*."
This reverts commit ee12d02402.
2012-04-24 10:06:09 +09:00
Daiki Ueno
ee12d02402 Remove eek-xkb*. 2012-04-23 18:35:15 +09:00
Daiki Ueno
7050fa41a0 G_CONST_RETURN -> const. 2012-04-23 17:09:48 +09:00
Daiki Ueno
4a346211b8 Show tooltips. 2012-04-23 16:43:06 +09:00
Daiki Ueno
4df2ecc8ae Don't abort when failed to load keyboard. 2012-04-16 14:37:18 +09:00
Daiki Ueno
03995ec6b2 Bump version to 1.0.7777777. 2012-04-13 16:48:50 +09:00
Daiki Ueno
6059146b42 Fix gobject-introspection annotation. 2012-04-13 16:44:41 +09:00
Daiki Ueno
30811ae656 Fix jp-kana keyboard. 2012-04-13 16:44:01 +09:00
Daiki Ueno
b8015bbef5 Simplify geometry XML format by folding row element. 2012-04-06 15:57:30 +09:00
Daiki Ueno
157d7c57fd Don't check if dbus-glib-1 is installed. 2012-04-02 16:31:53 +09:00
Daiki Ueno
03963036d1 Fix EekXklLayout initialization. 2012-04-02 10:38:14 +09:00
Daiki Ueno
5099f7db88 Bump version to 1.0.6. 2012-03-30 17:41:46 +09:00
Daiki Ueno
ab8cd246bf Fix make distcheck. 2012-03-30 17:40:16 +09:00
Daiki Ueno
528981f913 Drop IBus dependency when compiling. 2012-03-30 17:23:47 +09:00
Daiki Ueno
3fd5eb789c Fix EekboardContext::key_activated signature. 2012-03-30 16:27:48 +09:00
Daiki Ueno
9c09777c09 Place preferences key on the right bottom corner. 2012-03-29 19:08:54 +09:00
Daiki Ueno
7298d320e0 Refine keysym handling. 2012-03-29 16:27:56 +09:00
Daiki Ueno
39154fa5ad Fix keysym replace logic. 2012-03-28 19:03:34 +09:00
Daiki Ueno
6db99bee25 Don't enumerate over keys when find_by_keycode. 2012-03-28 14:43:49 +09:00
Daiki Ueno
ee0505c100 Add keyboard selection dialog to preferences. 2012-03-28 12:54:22 +09:00
Daiki Ueno
1943749cb6 Drop GTK2 support. 2012-03-23 18:07:05 +09:00
Daiki Ueno
5763ed20bf Remove eekxml. 2012-03-23 18:07:05 +09:00
Daiki Ueno
7eead1c1ff Fix some mistakes. 2012-03-23 18:07:05 +09:00
Daiki Ueno
048e08b59a Factor out symbols from keyboard file. 2012-03-23 18:07:01 +09:00
Daiki Ueno
523bd9b788 Remove unused code. 2012-03-19 10:53:27 +09:00
Daiki Ueno
f442733b33 Fix some mistakes.
* remove useless g_obect_{set,get}_property call.
* free GError on error.
2012-03-16 18:15:50 +09:00
Daiki Ueno
a6fe5bd859 Use GInitable to define EekXklLayout. 2012-03-16 17:36:20 +09:00
Daiki Ueno
32a1d23c2a Simplify codebase.
* Drop clutter support.
* Unify eek-xkb into eek-xkl.
* Generate vapi from gir instead of gi.
2012-03-16 16:32:33 +09:00
Daiki Ueno
06644945cf Remove python binding. 2012-03-16 15:47:36 +09:00
Daiki Ueno
1774a2c23e Update version to 1.0.5. 2011-11-25 14:37:44 +09:00
Daiki Ueno
668b974dd7 Improve border rendering without theme. 2011-10-14 10:04:16 +09:00
Daiki Ueno
4427f81dd9 Fix eek-0.90 vala binding.
Mark struct types in eek-0.90.metadata; add eek-text.h to eek-0.90.files.
2011-10-12 11:33:56 +09:00
Daiki Ueno
9490428535 Don't call g_log_set_always_fatal() in eekboard-server. 2011-10-11 11:37:02 +09:00
Daiki Ueno
8d70eedc5f Update to 1.0.4. 2011-09-30 11:50:40 +09:00
Daiki Ueno
74550d2424 Fix label alignment when the text is RTL. 2011-09-30 11:48:36 +09:00
Daiki Ueno
148d8e7524 Revive eekboard -k option to specify keyboard from command line. 2011-09-28 15:07:46 +09:00
Daiki Ueno
aca9a4dcb6 Fix some mistakes. 2011-09-15 17:47:38 +09:00
Daiki Ueno
953c35bdac Change window strut when monitor changed. 2011-09-15 17:47:26 +09:00
Daiki Ueno
596b33f149 Fix commit 15f7b0ec. 2011-09-12 17:24:36 +09:00
Daiki Ueno
ef3ea618d2 Change the type of gsettings key "keyboard" from s to as.
Also rename it to "keyboards".
2011-09-12 15:33:59 +09:00
Daiki Ueno
362b210a31 Set icon in keyboard files. 2011-09-12 13:47:39 +09:00
Daiki Ueno
15f7b0ecff Send fake key event for each character in EekText symbol. 2011-09-12 12:51:17 +09:00
Daiki Ueno
f72e9f5293 Copy pressed_keys list before sending released/cancelled signal (RHBZ#737396). 2011-09-12 11:06:52 +09:00
Daiki Ueno
0d93f31eea Add window size constraint option in gsettings. 2011-09-02 18:18:47 +09:00
Daiki Ueno
f1af125d24 Update to 1.0.3. 2011-09-02 17:06:02 +09:00
Daiki Ueno
a6c08bee7b Allow 0xXXXX in mim2remap.el. 2011-09-01 15:08:43 +09:00
Daiki Ueno
c2d2c8660f Add more keyboards convertd from m17n-db. 2011-09-01 12:51:03 +09:00
Daiki Ueno
db3538af64 Send DestroyContext when EekboardClient#dispose. 2011-09-01 11:19:41 +09:00
Daiki Ueno
04ac7fb19e Fix typo. 2011-08-31 16:22:42 +09:00
Daiki Ueno
53e853fbc9 Change D-Bus signal name KeyPressed to KeyActivated. 2011-08-31 10:00:00 +09:00
Daiki Ueno
747ce4e00b Add all subdirs to SUBDIRS regardless of automake conditionals. 2011-08-30 18:55:31 +09:00
Daiki Ueno
5f6eb76d7f Add inscript keyboards. 2011-08-30 18:17:47 +09:00
Daiki Ueno
3777620574 Preserve symbol attributes when serializing/deserializing XML. 2011-08-30 18:17:47 +09:00
Daiki Ueno
b02ae1b7cc Support text symbol.
a
2011-08-30 18:17:45 +09:00
Daiki Ueno
88816018d8 Rewrite mim2remap in elisp to properly parse *.mim files. 2011-08-30 16:23:11 +09:00
Daiki Ueno
06e7e2afac Fix python binding. 2011-08-26 13:04:35 +09:00
Daiki Ueno
ce2c4ed0f4 Update to 1.0.2. 2011-08-25 10:34:11 +09:00
Daiki Ueno
099ca60975 Update doc comments. 2011-08-25 10:31:41 +09:00
Daiki Ueno
43ab623fac Make sure that preferences dialog is kept above. 2011-08-25 07:11:50 +09:00
Daiki Ueno
bcc9a8fd60 Swap ISO_Level3_Shift with Control_L in keyboard XML. 2011-08-25 07:11:40 +09:00
Daiki Ueno
6fb96ea5d6 Fix crash in key replace logic. 2011-08-25 05:39:51 +09:00
Daiki Ueno
2f64b3ee13 Fix doc comments. 2011-08-24 17:59:57 +09:00
Daiki Ueno
d4a78e5dc7 Suppress compile warnings. 2011-08-24 17:44:31 +09:00
Daiki Ueno
71033f5739 Update gtk-doc sections. 2011-08-24 17:43:55 +09:00
Daiki Ueno
17444509fe Mark some files to be translated. 2011-08-24 17:43:12 +09:00
Daiki Ueno
42baa22cdc Add doc comment for libeekboard. 2011-08-24 17:43:00 +09:00
Daiki Ueno
f07de8cd3b Add a button to launch preferences dialog. 2011-08-24 17:05:52 +09:00
Daiki Ueno
0772898b83 Improve icon rendering. 2011-08-24 17:05:41 +09:00
Daiki Ueno
828b2d66d1 Save delay/interval as uint, instead of int. 2011-08-24 17:04:50 +09:00
Daiki Ueno
8ab4fb7946 Implement preferences dialog. 2011-08-24 15:24:59 +09:00
Daiki Ueno
e91a059f0f Ignore some files. 2011-08-24 11:10:28 +09:00
Daiki Ueno
093d83ed89 Use AM_V_GEN for generating keysym-entries headers. 2011-08-24 11:03:46 +09:00
Daiki Ueno
5c0381e4f0 Fix VAPIGEN macro. 2011-08-24 11:02:13 +09:00
Daiki Ueno
657c6f8e35 Use GI instead of pygtk2 in mim2remap. 2011-08-24 11:01:33 +09:00
Daiki Ueno
4bb984daf3 Rewrite simple-client in python. 2011-08-23 18:08:56 +09:00
Daiki Ueno
e46a3f89ed Add theme option in gsettings. 2011-08-23 17:49:43 +09:00
Daiki Ueno
6843cd62dd Fix vala binding. 2011-08-23 17:10:39 +09:00
Daiki Ueno
52ffc77fdd Fix make distcheck. 2011-08-23 17:10:17 +09:00
Daiki Ueno
158542ec0a Replace eekboard-xml and eekboard-inscript with eekxml and mim2remap. 2011-08-23 16:29:10 +09:00
Daiki Ueno
360da8a3c9 Update vala binding. 2011-08-23 14:17:07 +09:00
Daiki Ueno
65d1186317 Update python binding. 2011-08-23 10:27:29 +09:00
Daiki Ueno
b7b4d68a9a Fix fullscreen mode and D-Bus service entry. 2011-08-22 22:24:17 +09:00
Daiki Ueno
952f70b433 Fix typo. 2011-08-22 18:05:25 +09:00
Daiki Ueno
74de8e5056 Fix clutter build. 2011-08-22 16:17:58 +09:00
Daiki Ueno
9d88c1c5da Fix memleaks; add doc comments. 2011-08-22 16:12:23 +09:00
Daiki Ueno
a6bde78168 Highlight locked modifiers. 2011-08-22 14:44:46 +09:00
Daiki Ueno
bb85885e5d Revamp server-client API. 2011-08-20 13:17:16 +09:00
Daiki Ueno
dd085be73d Fix GTK2 build. 2011-08-19 07:56:25 +09:00
Daiki Ueno
f576310cdf Update keyboards. 2011-08-19 07:52:46 +09:00
Daiki Ueno
70e1c98987 Rescale jp-kana.xml. 2011-08-18 18:34:59 +09:00
Daiki Ueno
4f03aa82fe Rename kana.xml -> jp-kana.xml. 2011-08-18 18:29:24 +09:00
Daiki Ueno
383c93a415 Fix fit-size calculation. 2011-08-18 18:06:52 +09:00
Daiki Ueno
860fbe8ede Add kana keyboard. 2011-08-18 17:19:38 +09:00
Daiki Ueno
39900bd987 Allow non-keysym symbols in XML. 2011-08-18 17:02:39 +09:00
Daiki Ueno
5c09147551 Optimize container element traversal. 2011-08-18 17:01:48 +09:00
Daiki Ueno
f0929a9bd8 Add Thai keyboard. 2011-08-18 15:23:57 +09:00
Daiki Ueno
786496b3c4 Fix system (xklavier) layout handling. 2011-08-18 14:32:53 +09:00
Daiki Ueno
e5f5c8273e Make GTK3 default. 2011-08-18 14:25:40 +09:00
Daiki Ueno
ca250699ef Remove --model/layouts/options from eekboard-xml. 2011-08-18 12:48:32 +09:00
Daiki Ueno
7f41af3ee7 Change xkb: keyboard type format.
It is now "MODEL/L0(V0);L1(V1);...;Ln(Vn)/O0;O1;...;On".
2011-08-18 12:47:38 +09:00
Daiki Ueno
260dc3fddd Fix example/simple-client. 2011-08-18 12:16:39 +09:00
Daiki Ueno
052c40cc26 Remove serialization code for EekKey, EekSection, and EekKeyboard. 2011-08-18 12:00:54 +09:00
Daiki Ueno
1b5bab9c18 Add eek_init(). 2011-08-18 11:53:44 +09:00
Daiki Ueno
6a7b256676 Remove unnecessary null initialization. 2011-08-18 11:31:01 +09:00
Daiki Ueno
0e135129e2 Read keyboard type from GSettings. 2011-08-18 11:18:55 +09:00
Daiki Ueno
7af6bf13ed Support feedback sounds. 2011-08-18 11:18:27 +09:00
Daiki Ueno
91ed49b65a Make server responsible for loading keyboard files. 2011-08-17 18:19:36 +09:00
Daiki Ueno
84f614528f Use GList instead of GSList in eek-container. 2011-08-17 13:23:19 +09:00
Daiki Ueno
7c0e29fc86 Allow both -l and -d to be given to eekboard-xml. 2011-08-17 13:21:49 +09:00
Daiki Ueno
1f9e4bd576 Fix dock support. 2011-08-16 18:03:20 +09:00
Daiki Ueno
fc0a577dfb Suggest to use ibus focus-listener rather than atspi. 2011-08-16 17:34:15 +09:00
Daiki Ueno
69d16ddce5 Use org.freedesktop.IBus.Panel.Focus{In,Out} instead of InputContext. 2011-08-16 17:24:07 +09:00
Daiki Ueno
984813b154 Adjust the default values of key-repeat options.
Also make "auto-hide-delay" type integer rather than double.
2011-08-16 16:30:17 +09:00
Daiki Ueno
b6beeedc26 Improve key-repeat behavior. 2011-08-16 16:30:13 +09:00
Daiki Ueno
55f7a0d0dc Make sure large key does not overlap with the small key. 2011-08-15 18:13:55 +09:00
Daiki Ueno
7919cc191e Capture motion-notify event. 2011-08-15 18:10:57 +09:00
Daiki Ueno
db0c5088b7 Apply active style to the key under the large key. 2011-08-15 17:49:02 +09:00
Daiki Ueno
cc4b9a6b45 Add cursor keys to us-qwerty map. 2011-08-15 17:25:22 +09:00
Daiki Ueno
f4e33a4ad4 Make sure that large key bounds do not overflow the widget allocation. 2011-08-15 16:45:11 +09:00
Daiki Ueno
0e0fe9ed51 Support key repeat. 2011-08-15 15:18:52 +09:00
Daiki Ueno
20c1f8cbe3 Update to 1.0.1. 2011-08-15 12:50:02 +09:00
Daiki Ueno
f2ee3b4966 Add auto-hide-delay option.
Also fixes GSettings unref in client-main.c.
2011-08-15 12:17:07 +09:00
Daiki Ueno
57a072746e Release dragged key when unmap. 2011-08-15 12:16:44 +09:00
Daiki Ueno
497f21a5bd Remove unused local var. 2011-08-12 16:44:05 +09:00
Daiki Ueno
099c242ad7 Update to 1.0.0. 2011-08-12 16:41:44 +09:00
Daiki Ueno
109eff420c Check "start-fullscreen" GSettings key. 2011-08-12 16:40:45 +09:00
Daiki Ueno
0896096a70 Fix --enable-* configure options. 2011-08-12 16:40:20 +09:00
Daiki Ueno
2d2aea009e Rewrite 15c0a9da using cairo_pattern_set_extend. 2011-08-12 16:25:56 +09:00
Daiki Ueno
0425b4e094 Make sure that IBusBus is connected when setting up DBus message filter. 2011-08-12 15:01:14 +09:00
Daiki Ueno
15c0a9dadf Blank background around a large key when key release. 2011-08-12 15:00:46 +09:00
Daiki Ueno
e09c563cd8 Don't close gdk default display. 2011-06-15 18:08:51 +09:00
Daiki Ueno
218a4a50f6 Make sure to own IBusBus reference in client. 2011-06-15 18:03:40 +09:00
Daiki Ueno
9ab228e8f0 Simplify XKB keycode replace logic. 2011-06-15 17:10:14 +09:00
Daiki Ueno
b30db118f2 Use XkbGetMap instead of XkbGetKeyboard in client. 2011-06-15 15:50:06 +09:00
Daiki Ueno
cccb4f45cd Fix modifier handling when sending keycode with XTest. 2011-06-15 12:53:11 +09:00
Daiki Ueno
54c9d6e35d Use XkbChangeMap to reduce traffic between X server. 2011-06-15 12:26:57 +09:00
Daiki Ueno
da7d11e387 Follow monitors-changed event. 2011-06-14 12:39:46 +09:00
Daiki Ueno
d9073183a7 Borrow XKB keyboard mapping change logic from Caribou. 2011-06-14 12:29:54 +09:00
Daiki Ueno
78480f7577 Make X dock support optional. 2011-06-14 07:14:45 +09:00
Daiki Ueno
1dbf0d70da Add IBus to optional dependencies. 2011-06-14 04:54:41 +09:00
Daiki Ueno
44ee2a9913 Simplify the last commit. 2011-06-14 04:54:28 +09:00
Daiki Ueno
a3a5a51f74 Make the window as dock when fullscreen mode. 2011-06-14 04:23:42 +09:00
Daiki Ueno
1ae4426ec8 Make sure XTest extension is available. 2011-06-13 18:52:06 +09:00
Daiki Ueno
270760bd16 Fix configure output. 2011-06-13 18:37:51 +09:00
Daiki Ueno
5bb20e44fb Place keyboard at the center of screen if fullscreen mode is enabled. 2011-06-13 18:29:06 +09:00
Daiki Ueno
26a2ab725e Move focus-listener setting to dconf from command line option. 2011-06-13 18:28:32 +09:00
Daiki Ueno
9d73b89a4e Use libXtst directly instead of via libfakekey. 2011-06-13 15:26:59 +09:00
Daiki Ueno
606f335496 Unify focus listener configure options. 2011-06-13 14:54:10 +09:00
Daiki Ueno
fe9a02e514 Keep a reference to GSettings handle until server-context is disposed. 2011-06-10 16:57:06 +09:00
Daiki Ueno
f76a835e33 Implement IBus based activation. 2011-06-10 11:43:03 +09:00
Daiki Ueno
e199add701 Don't check clutter-gtk if clutter is disabled. 2011-06-10 11:23:40 +09:00
Daiki Ueno
a744096dd7 Fix URL in *.pc.in. 2011-05-27 17:37:25 +09:00
Daiki Ueno
51a18849c0 Fix clutter-gtk check. 2011-04-28 17:27:59 +09:00
Daiki Ueno
bd303ef10b Add guard to prevent eekboard/eekboard-*.h from being included directly. 2011-04-28 16:47:35 +09:00
Daiki Ueno
1e9ec77b65 Add Vala language binding of libeekboard. 2011-04-28 14:57:56 +09:00
Daiki Ueno
4b409de5ba Add guard to prevent individual headers from being included directly. 2011-04-28 13:03:21 +09:00
Daiki Ueno
66cea3a0b5 Update vala binding API version. 2011-04-28 12:31:24 +09:00
Daiki Ueno
0add617834 Autodetect fakekey, at-spi2-core, clutter, clutter-gtk, python, and vala. 2011-04-28 10:58:42 +09:00
Daiki Ueno
70b0d95d9b Change D-Bus interface name and object path to fedorahosted ones. 2011-04-27 18:25:53 +09:00
Daiki Ueno
cae9c89b64 Allow eekboard UI toolkit to be changed at runtime. 2011-04-27 17:54:20 +09:00
Daiki Ueno
a9d9274e78 Add short label for Meta_{L,R}. 2011-04-22 17:07:44 +09:00
Daiki Ueno
2211fb6b1e 0.90.7 released. 2011-04-22 15:12:05 +09:00
Daiki Ueno
34569679f0 Ignore some files. 2011-04-22 14:44:44 +09:00
Daiki Ueno
816e1f0d51 Fix Clutter build. 2011-04-22 14:41:36 +09:00
Daiki Ueno
de62d74ac5 Fix GTK-DOC comments. 2011-04-22 14:41:29 +09:00
Daiki Ueno
d71c79f268 Fix glib-mkenums error. 2011-04-21 16:24:19 +09:00
Daiki Ueno
ee948cb2ae Update dependencies. 2011-04-19 15:44:12 +09:00
Daiki Ueno
ba59a850d1 Fix compilation error when --disable-atspi. 2011-04-19 15:43:02 +09:00
Daiki Ueno
b7999842a9 Display more information about build. 2011-04-19 15:41:15 +09:00
Daiki Ueno
2dd0ae47db Add autostart desktop file. 2011-04-19 15:41:07 +09:00
Daiki Ueno
926d9346e1 Use at-spi2 instead of at-spi1. 2011-04-19 15:12:01 +09:00
Daiki Ueno
ac8764b9b7 Fix compiler warnings. 2011-04-19 11:56:00 +09:00
Daiki Ueno
4cf3f24fbc Don't check GConf2 if CSPI-1.0 is disabled; disable CSPI-1.0 by default. 2011-04-19 11:29:58 +09:00
Daiki Ueno
0691766a31 Don't include cspi/spi.h if CSPI-1.0 is disabled. 2011-04-19 10:20:37 +09:00
Daiki Ueno
77c00a10da Replace the eekboard-desktop-client reference in desktop file with "eekboard".
https://bugzilla.redhat.com/show_bug.cgi?id=696523
2011-04-14 18:38:46 +09:00
Daiki Ueno
8c407ae482 Use G_DEFINE_BOXED_TYPE. 2011-04-12 11:09:28 +09:00
Daiki Ueno
8d2d612547 Use us-qwerty keyboard by default. 2011-03-28 14:48:07 +09:00
Daiki Ueno
80dc26b7f4 Fix make distcheck. 2011-03-23 18:53:44 +09:00
Daiki Ueno
fbe7b9ec1a Hard-code dynamic modifier masks for XML layout. 2011-03-23 17:59:43 +09:00
Daiki Ueno
048fccd6e0 Use GEnumTypes. 2011-03-23 17:25:29 +09:00
Daiki Ueno
638d41e0b6 Check keycode before passing it to fakekey_send_keyevent(). 2011-03-23 14:49:33 +09:00
Daiki Ueno
4271eb6b3e Pick keyboard file in $(keyboarddir). 2011-03-22 18:23:04 +09:00
Daiki Ueno
d25bfd8ba7 Update README. 2011-03-12 07:19:05 +09:00
Daiki Ueno
0739fbf464 Fix packaging mistake of *.desktop file. 2011-03-11 18:17:41 +09:00
Daiki Ueno
d1b38f8eb2 0.90.6 released. 2011-03-11 18:05:41 +09:00
Daiki Ueno
e6d17fa4cb Fix the last commit. 2011-03-11 17:39:55 +09:00
Daiki Ueno
d62b8b49a2 Fix the last commit. 2011-03-11 17:18:29 +09:00
Daiki Ueno
149dd7dc8b Ignore some files. 2011-03-11 14:26:57 +09:00
Daiki Ueno
0177f96795 Move eekboard-client from src to examples; rename eekboard-desktop-client to eekboard. 2011-03-11 14:25:48 +09:00
Daiki Ueno
ec56773dc6 Don't hardcode gtk.main_quit() in inscript.py. 2011-03-11 13:24:22 +09:00
Daiki Ueno
881bf34ec4 Handle the case when both shift and altgr keys are pressed. 2011-03-11 13:11:05 +09:00
Daiki Ueno
6787308061 Set label/category anyway if inscript key cannot convert to keyval. 2011-03-11 12:53:54 +09:00
Daiki Ueno
0cd01bf165 Fix make distcheck. 2011-03-11 12:53:35 +09:00
Daiki Ueno
132ae3899f Terminate eekboard-inscript when the window is closed. 2011-03-11 12:06:07 +09:00
Daiki Ueno
72f84fa4ef Export EekSymbolCategory in python binding. 2011-03-11 12:06:00 +09:00
Daiki Ueno
16d81f3f71 Generate inscript keyboard on-the-fly. 2011-03-11 11:38:53 +09:00
Daiki Ueno
42a0ea148b Handle "destroyed" signal in eekboard-inscript. 2011-03-10 19:38:42 +09:00
Daiki Ueno
2021311a4e Add destroyed signal in python binding. 2011-03-10 19:37:30 +09:00
Daiki Ueno
b64e91dffa Latch modifiers in eekboard-inscript. 2011-03-10 19:18:56 +09:00
Daiki Ueno
57bb7030fb Fix toggle English feature. 2011-03-10 18:54:53 +09:00
Daiki Ueno
425fe7829b Add toggle English. 2011-03-10 18:43:24 +09:00
Daiki Ueno
aa88315924 Set AltGr mask in python binding. 2011-03-10 18:24:09 +09:00
Daiki Ueno
39a59fb049 Serialize alt_gr_mask. 2011-03-10 18:23:49 +09:00
Daiki Ueno
e0993a5e55 Add eekboard-inscript. 2011-03-10 18:14:06 +09:00
Daiki Ueno
4eb59ba7ed Display client name as window title. 2011-03-10 18:11:48 +09:00
Daiki Ueno
cc9fb31e61 Add examples. 2011-03-10 17:17:37 +09:00
Daiki Ueno
c44ebecfb2 Improve font size computation. 2011-03-10 17:16:31 +09:00
Daiki Ueno
f60e1d763e Move EekSymbolMatrix code from eek-types.[ch] to eek-symbol-matrix.[ch]. 2011-03-09 11:57:02 +09:00
Daiki Ueno
5c3cb477ef Let PopContext return error if the current context is not owned by the client. 2011-03-08 19:00:04 +09:00
Daiki Ueno
5fd4005967 Add transfer mode annotation for eekboard_eekboard_create_context(). 2011-03-08 14:39:41 +09:00
Daiki Ueno
76d1b8f7fb 0.90.4 released. 2011-03-08 11:27:49 +09:00
Daiki Ueno
2bbc65958a Doc and typo fix for eekboard_context_set_fullscreen(). 2011-03-08 11:27:20 +09:00
Daiki Ueno
cbdd0fd2ba Add eekboard/eekboard-eekboard.c to POTFILES.skip. 2011-03-08 11:26:49 +09:00
Daiki Ueno
2f7aa77c11 Fix focus listener logic. 2011-03-08 11:26:15 +09:00
Daiki Ueno
bed39570ff Add eek-theme-private.h in distribution. 2011-03-08 11:25:59 +09:00
Daiki Ueno
8bc3b204b4 Add credit. 2011-03-08 11:25:19 +09:00
Daiki Ueno
fa030ebcbb Fix fullscreen code. 2011-03-08 11:03:48 +09:00
Daiki Ueno
af365024b7 Update default theme. 2011-03-08 10:43:17 +09:00
Daiki Ueno
c742877b77 Add "SetFullscreen" D-Bus method. 2011-03-08 10:42:57 +09:00
Daiki Ueno
ace4391b79 Use font from style. 2011-03-08 10:41:45 +09:00
Daiki Ueno
627cbf2898 Pass base_font during size calculation. 2011-03-08 07:04:12 +09:00
Daiki Ueno
baae80fa41 Port st-theme-context.[ch] to eek-theme-context.[ch]. 2011-03-08 06:58:20 +09:00
Daiki Ueno
9be07710dd Fix clutter build. 2011-03-08 06:27:59 +09:00
Daiki Ueno
163e005561 Simplify "blank background" code. 2011-03-08 06:04:41 +09:00
Daiki Ueno
d8e691d3f5 Optimize redraw on key release. 2011-03-08 05:53:00 +09:00
Daiki Ueno
85a1a6ba24 Abolish EekThemeNodePrivate. 2011-03-08 05:17:20 +09:00
Daiki Ueno
828a59b298 Fix typo. 2011-03-07 19:17:32 +09:00
Daiki Ueno
f1b91c0223 Add border style configuration (WIP). 2011-03-07 19:01:10 +09:00
Daiki Ueno
cadb0f18a9 Fix gradient drawing. 2011-03-07 16:51:01 +09:00
Daiki Ueno
2a8d7cf0a8 Revert to use fakekey_send_event. 2011-03-07 16:49:38 +09:00
Daiki Ueno
c9b54ba87f Remove eek-theme-private.h. 2011-03-07 14:40:04 +09:00
Daiki Ueno
d57ae91995 Move level change logic from key-pressed to key-released handler. 2011-03-07 14:39:35 +09:00
Daiki Ueno
dd86b132ce Set pseudo class "active" to EekKey if the key is pressed. 2011-03-07 12:38:32 +09:00
Daiki Ueno
3967558bae Add setter function of pseudo class. 2011-03-07 12:37:58 +09:00
Daiki Ueno
668ce51f3c Mark EekKey::pressed as G_SIGNAL_RUN_FIRST. 2011-03-07 12:37:25 +09:00
Daiki Ueno
1db2a4aeea Use g_object_set_qdata() to attach theme-node to element. 2011-03-07 10:42:27 +09:00
Daiki Ueno
e20425f385 Add eek-theme-private.h. 2011-03-04 19:35:50 +09:00
Daiki Ueno
a20224f969 Add default theme. 2011-03-04 19:23:08 +09:00
Daiki Ueno
d66318a031 Fix the last commit. 2011-03-04 19:04:39 +09:00
Daiki Ueno
37c2579253 Merge theme handling code (WIP). 2011-03-04 18:52:25 +09:00
Daiki Ueno
23ab2a343f Fix coding style. 2011-03-04 14:28:20 +09:00
Daiki Ueno
e6dfc595ab Lower gobject-introspection version requirement. 2011-03-04 13:01:17 +09:00
Daiki Ueno
98e15d7741 Resolve AltGr modifier at run time. 2011-03-04 10:42:31 +09:00
Daiki Ueno
38b226b46f Clear allocation box when drawing keyboard. 2011-03-03 18:18:04 +09:00
Daiki Ueno
c53b4d398e Remove floating ref from a serialized keyboard. 2011-03-03 17:31:09 +09:00
Daiki Ueno
fbcf6b6c65 Fix infloop when multiple clients are disconnected after another. 2011-03-03 17:02:12 +09:00
Daiki Ueno
09c95b20da Add "Destroy" D-Bus signal to server for debug. 2011-03-03 16:36:10 +09:00
Daiki Ueno
a7f81c3cfb Destroy clutter texture cache properly. 2011-03-03 16:04:24 +09:00
Daiki Ueno
a66256f390 Fix coding style. 2011-03-03 15:53:51 +09:00
Daiki Ueno
8b7da18641 Make eekboard-xml build with clutter. 2011-03-03 15:25:39 +09:00
Daiki Ueno
a9c0356611 Fix XML serialization of EekOutline to include corner_radius. 2011-03-03 15:06:03 +09:00
Daiki Ueno
b25a9a5407 Add comments. 2011-03-03 15:06:03 +09:00
Daiki Ueno
8b632356e9 Fix memleaks. 2011-03-03 15:05:59 +09:00
Daiki Ueno
b8a01d794e Check if the server is active. 2011-03-03 12:23:31 +09:00
Daiki Ueno
cfd33921a1 Fix crash with clutter build. 2011-03-02 18:49:39 +09:00
Daiki Ueno
979aa010b9 Update gobject-introspection version requirement. 2011-03-02 18:40:01 +09:00
Daiki Ueno
de064ba0c0 Update version to 0.90.3. 2011-03-02 17:05:01 +09:00
Daiki Ueno
ff200d9562 Add xklutil.h to noinst_HEADERS. 2011-03-02 17:05:01 +09:00
Daiki Ueno
a8148683d3 Fix typo in desktop-client.c. 2011-03-02 17:01:09 +09:00
Daiki Ueno
838a15d31a Add doc for EekKeysym. 2011-03-02 16:56:16 +09:00
Daiki Ueno
2d66bf24fb Add doc for EekSymbol. 2011-03-02 16:52:30 +09:00
Daiki Ueno
64bc7cc955 Fix commit ab08955a. 2011-03-02 16:45:35 +09:00
Daiki Ueno
362f8ec0cb Add xkl options to eekboard-desktop-client. 2011-03-02 16:39:13 +09:00
Daiki Ueno
d99a40df94 Compile xklutil.c at once. 2011-03-02 16:38:40 +09:00
Daiki Ueno
ab08955a5f Make the return value of eek_symbol_get_label const. 2011-03-02 16:15:16 +09:00
Daiki Ueno
577fcd7f9e Add files to POTFILES.*. 2011-03-02 16:10:56 +09:00
Daiki Ueno
7da92bf04c Make the window not maximizable (RHBZ#680406). 2011-03-02 16:05:51 +09:00
Daiki Ueno
f7caf6fe49 Handle Num_Lock correctly (RHBZ#680826). 2011-03-02 15:44:35 +09:00
Daiki Ueno
d111edd76a Update doc index. 2011-03-02 11:49:30 +09:00
Daiki Ueno
b2657c06a8 Move symbol-index property per-element instead of per-keyboard. 2011-03-02 11:47:09 +09:00
Daiki Ueno
fccf9e8805 Fix icon position calculation. 2011-03-01 16:25:37 +09:00
Daiki Ueno
7fc80705dd Fix serializing nullable properties of EekSymbol. 2011-03-01 12:51:59 +09:00
Daiki Ueno
9007f31c0a Fix icon size calculation. 2011-03-01 12:51:46 +09:00
Daiki Ueno
18f8e5b98b Draw key with icon if EekSymbol has "icon-name" property. 2011-03-01 11:57:07 +09:00
Daiki Ueno
0087f74178 Make input context have multiple keyboards. 2011-02-28 18:19:04 +09:00
Daiki Ueno
639ad8df91 Add -g option to eekboard-xml. 2011-02-28 12:24:27 +09:00
Daiki Ueno
e8af3dacf1 Assign LETTER category to letter keysyms. 2011-02-28 12:24:16 +09:00
Daiki Ueno
5d42fb8294 Read keysym label from XML attribute. 2011-02-25 18:18:05 +09:00
Daiki Ueno
4440a2f1ac Release dragged key when gtk keyboard is disposed. 2011-02-25 18:17:05 +09:00
Daiki Ueno
c9cee89d7e Fix translation. 2011-02-25 13:14:17 +09:00
Daiki Ueno
1c3d20ad6f Add command-line option to specify D-Bus type and address. 2011-02-25 11:10:36 +09:00
240 changed files with 22737 additions and 16954 deletions

81
.gitignore vendored
View File

@@ -1,74 +1,9 @@
*.la
*.lo
*.loT
*.o
*.so
.zanata-cache/
_build
TAGS
tags
vgdump
*.swp
*~
Makefile
Makefile.in
.deps
.libs
INSTALL
aclocal.m4
autom4te.cache
compile
config.guess
config.h
config.h.in
config.log
config.rpath
config.status
config.sub
configure
depcomp
install-sh
libtool
ltmain.sh
missing
stamp-h1
libkeyactor*.tar.*
mkinstalldirs
m4/*.m4
gtk-doc.make
eek/eek-special-keysym-entries.h
eek/eek-unicode-keysym-entries.h
eek/eek-xkeysym-keysym-entries.h
eek/eek-marshalers.[ch]
eek/*.pc
eek/*.gir
eek/*.typelib
eekboard/*.pc
eekboard/*.gir
eekboard/*.typelib
tests/eek-simple-test
tests/eek-xkb-test
tests/eek-xml-test
src/eekboard-server
src/eekboard-client
src/eekboard-system-client
src/eekboard-xml
docs/reference/eek/*.stamp
docs/reference/eek/*.txt
!/docs/reference/eek/eek-sections.txt
docs/reference/eek/xml
docs/reference/eek/html
docs/reference/eek/eek.signals
docs/reference/eek/eek.args
docs/reference/eek/eek.hierarchy
docs/reference/eek/eek.interfaces
docs/reference/eek/eek.prerequisites
docs/reference/eekboard/*.stamp
docs/reference/eekboard/*.txt
!/docs/reference/eekboard/eekboard-sections.txt
docs/reference/eekboard/xml
docs/reference/eekboard/html
docs/reference/eekboard/eekboard.signals
docs/reference/eekboard/eekboard.args
docs/reference/eekboard/eekboard.hierarchy
docs/reference/eekboard/eekboard.interfaces
docs/reference/eekboard/eekboard.prerequisites
po/*.gmo
po/Makefile.in.in
po/POTFILES
po/stamp-it
bindings/vala/*.vapi
\#*#
.\#*

31
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,31 @@
image: debian:buster
stages:
- build
- test
.tags: &tags
tags:
- librem5
before_script:
- apt-get -y update
- apt-get -y build-dep .
build_meson:
<<: *tags
stage: build
artifacts:
paths:
- _build
script:
- meson . _build/ -Ddepdatadir=/usr/share
- ninja -C _build install
test:
<<: *tags
stage: test
dependencies:
- build_meson
script:
- xvfb-run -s -noreset ninja -C _build test

38
AUTHORS
View File

@@ -1,6 +1,36 @@
eekboard is written by Daiki Ueno <ueno@unixuser.org>
eekboard is written by Daiki Ueno <ueno@unixuser.org>. The following
files contain code derived from other free software packages:
Cairo keyboard drawing functions are borrowed from the libgnomekbd
library by Sergey V. Udaltsov <svu@gnome.org>. See the comments in
eek/eek-drawing.c for detail.
eek/eek-keyboard-drawing.h
eek/eek-keyboard-drawing.c
These files contain code derived from the libgnomekbd library.
Copyright (C) 2006 Sergey V. Udaltsov <svu@gnome.org>
eek/eek-theme.h
eek/eek-theme.c
eek/eek-theme-context.h
eek/eek-theme-context.c
eek/eek-theme-node.h
eek/eek-theme-node.c
These files contain code derived from gnome-shell.
Copyright 2008-2010 Red Hat, Inc.
Copyright 2009 Steve Frécinaux
Copyright 2009, 2010 Florian Müllner
Copyright 2010 Adel Gadllah
Copyright 2010 Giovanni Campagna
Copyright 2003-2004 Dodji Seketeli
data/icons/8x8/Makefile.am
data/icons/16x16/Makefile.am
data/icons/22x22/Makefile.am
data/icons/24x24/Makefile.am
data/icons/32x32/Makefile.am
data/icons/48x48/Makefile.am
data/icons/scalable/Makefile.am
These files contain code derived from im-chooser.
Copyright (C) 2006-2008 Red Hat, Inc. All rights reserved.

View File

View File

@@ -1,21 +0,0 @@
# Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2010-2011 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
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = eek eekboard src tests bindings docs po data
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection

0
NEWS
View File

75
README
View File

@@ -1,75 +0,0 @@
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
$ make
$ sudo make install
** Build from tarball
$ ./configure --prefix=/usr
$ make
$ sudo make install
* How to test
eekboard currently includes 4 tools to implement your own virtual
keyboard.
** eekboard-server
eekboard-server is a D-Bus server which is responsible for drawing
interactive on-screen keyboards. Since it has a D-Bus service
activation entry, you will not need to start it manually, but you can
do that with:
$ eekboard-server &
** eekboard-desktop-client
eekboard-desktop-client is a client of eekboard-server. It listens
desktop events (keyboard change, focus in/out, and keystroke) and
generates key events when some keys are pressed on the on-screen
keyboard. It can be started with:
$ eekboard-desktop-client
** eekboard-xml
eekboard-xml is a tool to manipulate XML keyboard description used by
eekboard-client tool and in the eekboard library.
To dump the current system keyboard layout into an XML file:
$ eekboard-xml --dump > keyboard.xml
You can display the dumped layout with:
$ eekboard-xml --load keyboard.xml
** eekboard-client
eekboard-client is a simple test client of eekboard-server. To upload
the keyboard description to the server, display it, and listen
key events.
$ eekboard-client --set-keyboard keyboard.xml --show-keyboard --listen
KeyPressed XXXXX
KeyReleased XXXXX
* Documentation
See file:docs/reference/eek/html/index.html

68
README.md Normal file
View File

@@ -0,0 +1,68 @@
*squeekboard* - a Wayland virtual keyboard
========================================
*Squeekboard* is a virtual keyboard supporting Wayland, built primarily for the *Librem 5* phone.
Features
--------
### Present
- GTK3
- Custom xml-defined keyboards
- DBus interface to show and hide
### Temporarily dropped
- A settings interface
### TODO
- Use Wayland virtual keyboard protocol
- Use Wayland text input protocol
- Use Wayland input method protocol
- Pick up DBus interface files from /usr/share
Building
--------
### Dependencies
See `.gitlab-ci.yml`.
### Build from git repo
```
$ git clone https://source.puri.sm/Librem5/squeekboard.git
$ cd squeekboard
$ mkdir ../build
$ meson ../build/
$ cd ../build
$ ninja install
```
For development, alter the `meson` call:
```
$ meson ../build/ --prefix=../install
```
and don't skip `ninja install` before running. The last step is necessary in order to find the keyboard definition files.
Running
-------
```
$ rootston
$ cd ../build/
$ src/squeekboard
```
### Testing
```
$ busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
$ busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false
$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ua')]"
$ gsettings set org.gnome.desktop.input-sources current 1
```

1
TODO
View File

@@ -1 +0,0 @@
See https://github.com/ueno/eekboard/wiki/TODO

View File

@@ -1,25 +0,0 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="eekboard"
(test -f $srcdir/configure.ac \
&& test -f $srcdir/README ) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
}
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME CVS"
exit 1
}
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4"
REQUIRED_AUTOMAKE_VERSION=1.10
REQUIRED_AUTOCONF_VERSION=2.60
. gnome-autogen.sh

View File

@@ -1,27 +0,0 @@
# Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2010-2011 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
SUBDIRS =
if ENABLE_PYTHON
SUBDIRS += python
endif
if ENABLE_VALA
SUBDIRS += vala
endif

View File

@@ -1,18 +0,0 @@
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program 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
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
SUBDIRS = eekboard

View File

@@ -1,21 +0,0 @@
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program 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
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
pkgpython_PYTHON = \
__init__.py \
eekboard.py \
context.py

View File

@@ -1,63 +0,0 @@
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program 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
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
from gi.repository import Eek, EekXkl, Gio
from eekboard import Eekboard
from context import Context
Keyboard = Eek.Keyboard
Section = Eek.Section
Key = Eek.Key
Symbol = Eek.Symbol
Keysym = Eek.Keysym
MODIFIER_BEHAVIOR_NONE, \
MODIFIER_BEHAVIOR_LOCK, \
MODIFIER_BEHAVIOR_LATCH = \
(Eek.ModifierBehavior.NONE,
Eek.ModifierBehavior.LOCK,
Eek.ModifierBehavior.LATCH)
CSW = 640
CSH = 480
def XmlKeyboard(path, modifier_behavior=MODIFIER_BEHAVIOR_NONE):
_file = Gio.file_new_for_path(path)
layout = Eek.XmlLayout.new(_file.read())
keyboard = Eek.Keyboard.new(layout, CSW, CSH)
keyboard.set_modifier_behavior(modifier_behavior)
return keyboard
def XklKeyboard(modifier_behavior=MODIFIER_BEHAVIOR_NONE):
layout = EekXkl.Layout.new()
keyboard = Eek.Keyboard.new(layout, CSW, CSH)
keyboard.set_modifier_behavior(modifier_behavior)
return keyboard
__all__ = ['Eekboard',
'Context',
'Keyboard',
'Section',
'Key',
'Symbol',
'Keysym',
'MODIFIER_BEHAVIOR_NONE',
'MODIFIER_BEHAVIOR_LOCK',
'MODIFIER_BEHAVIOR_LATCH',
'XmlKeyboard',
'XklKeyboard']

View File

@@ -1,73 +0,0 @@
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program 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
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
from gi.repository import Eekboard
import gobject
class Context(gobject.GObject):
__gtype_name__ = "PYEekboardContext"
__gsignals__ = {
'enabled': (
gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'disabled': (
gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'key-pressed': (
gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_UINT,)),
'key-released': (
gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_UINT,))
}
def __init__(self, giobject):
super(Context, self).__init__()
import sys
self.__giobject = giobject
self.__giobject.connect('enabled', lambda *args: self.emit('enabled'))
self.__giobject.connect('disabled', lambda *args: self.emit('disabled'))
self.__giobject.connect('key-pressed', lambda *args: self.emit('key-pressed', args[1]))
self.__giobject.connect('key-released', lambda *args: self.emit('key-released', args[1]))
def get_giobject(self):
return self.__giobject
def set_keyboard(self, keyboard):
self.__giobject.set_keyboard(keyboard, None)
def show_keyboard(self):
self.__giobject.show_keyboard(None)
def hide_keyboard(self):
self.__giobject.hide_keyboard(None)
def set_group(self, group):
self.__giobject.set_group(group, None)
def press_key(self, keycode):
self.__giobject.press_key(keycode, None)
def release_key(self, keycode):
self.__giobject.release_key(keycode, None)
def is_enabled(self):
return self.__giobject.is_enabled()

View File

@@ -1,42 +0,0 @@
# Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2011 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program 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
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# <http://www.gnu.org/licenses/>.
from gi.repository import Gio
import gi.repository
import gobject
from context import Context
class Eekboard(gobject.GObject):
__gtype_name__ = "PYEekboardEekboard"
def __init__(self):
super(Eekboard, self).__init__()
self.__connection = Gio.bus_get_sync(Gio.BusType.SESSION, None)
self.__eekboard = gi.repository.Eekboard.Eekboard.new(self.__connection, None);
def create_context(self, client_name):
context = self.__eekboard.create_context(client_name, None)
return Context(context)
def push_context(self, context):
self.__eekboard.push_context(context.get_giobject(), None)
def pop_context(self):
self.__eekboard.pop_context(None)
def destroy_context(self, context):
self.__eekboard.destroy_context(context.get_giobject(), None)

View File

@@ -1,50 +0,0 @@
# Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2010-2011 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: eek-$(EEK_API_VERSION).vapi
vapigen --vapidir=$(builddir) --library eek-clutter-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) --pkg clutter-1.0 \
eek-clutter-$(EEK_API_VERSION)/eek-clutter-$(EEK_API_VERSION).gi
eek-gtk-$(EEK_API_VERSION).vapi: eek-$(EEK_API_VERSION).vapi
vapigen --vapidir=$(builddir) --library eek-gtk-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) --pkg gtk+-2.0 \
eek-gtk-$(EEK_API_VERSION)/eek-gtk-$(EEK_API_VERSION).gi
eek-xkb-$(EEK_API_VERSION).vapi: eek-$(EEK_API_VERSION).vapi
vapigen --vapidir=$(builddir) --library eek-xkb-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) \
eek-xkb-$(EEK_API_VERSION)/eek-xkb-$(EEK_API_VERSION).gi
eek-xkl-$(EEK_API_VERSION).vapi: eek-xkb-$(EEK_API_VERSION).vapi
vapigen --vapidir=$(builddir) --library eek-xkl-$(EEK_API_VERSION) \
--pkg eek-$(EEK_API_VERSION) --pkg eek-xkb-$(EEK_API_VERSION) \
eek-xkl-$(EEK_API_VERSION)/eek-xkl-$(EEK_API_VERSION).gi

View File

@@ -0,0 +1 @@
gio-2.0

View File

@@ -1,9 +0,0 @@
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

View File

@@ -1,680 +0,0 @@
<?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>

View File

@@ -1 +0,0 @@
Eek

View File

@@ -1,6 +0,0 @@
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

View File

@@ -1,85 +0,0 @@
<?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>

View File

@@ -1 +0,0 @@
EekClutter cheader_filename="eek/eek-clutter.h"

View File

@@ -1 +0,0 @@
EekClutter

View File

@@ -0,0 +1 @@
eek-0.90

View File

@@ -1,3 +0,0 @@
include/eek-0.1/eek/eek-gtk-keyboard.h
include/eek-0.1/eek/eek-gtk.h
lib/libeek-gtk.so

View File

@@ -1,18 +0,0 @@
<?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>

View File

@@ -1 +0,0 @@
EekGtk

View File

@@ -1,2 +0,0 @@
include/eek-0.1/eek/eek-xkb-layout.h
lib/libeek-xkb.so

View File

@@ -1,65 +0,0 @@
<?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>

View File

@@ -1 +0,0 @@
EekXkb cheader_filename="eek/eek-xkb.h"

View File

@@ -1 +0,0 @@
EekXkb

View File

@@ -0,0 +1,2 @@
eek-0.90
x11

View File

@@ -1,3 +0,0 @@
include/eek-0.1/eek/eek-xkl-layout.h
lib/libeek-xkl.so

View File

@@ -1,91 +0,0 @@
<?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>

View File

@@ -1 +0,0 @@
EekXkl

View File

@@ -1,261 +0,0 @@
# Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
# Copyright (C) 2010-2011 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
AC_PREREQ(2.63)
dnl AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_MACRO_DIR([m4])
AC_INIT([eekboard], [0.90.2], [ueno@unixuser.org])
dnl Init automake
AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE([enable])
AC_GNU_SOURCE
dnl Support silent build
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
dnl Check for programs
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_CXX
# define PACKAGE_VERSION_* variables
AM_DISABLE_STATIC
AC_ISC_POSIX
AC_HEADER_STDC
LT_INIT
IT_PROG_INTLTOOL([0.35.0])
AC_MSG_CHECKING([which gtk+ version to compile against])
AC_ARG_WITH([gtk],
[AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against (default: 2.0)])],
[case "$with_gtk" in
2.0|3.0) ;;
*) AC_MSG_ERROR([invalid gtk version specified]) ;;
esac],
[with_gtk=2.0])
AC_MSG_RESULT([$with_gtk])
case "$with_gtk" in
2.0) GTK_API_VERSION=2.0
GTK_REQUIRED=2.14.0
EEK_API_VERSION=0.90
EEK_API_MAJOR_VERSION=0
EEK_API_MINOR_VERSION=90
EEK_API_PC_VERSION=0.90
EEK_LIBRARY_SUFFIX="-$EEK_API_VERSION"
;;
3.0) GTK_API_VERSION=3.0
GTK_REQUIRED=2.91.0
EEK_API_VERSION=0.90
EEK_API_MAJOR_VERSION=0
EEK_API_MINOR_VERSION=90
EEK_API_PC_VERSION=0.90
EEK_LIBRARY_SUFFIX="-$EEK_API_VERSION"
;;
esac
AC_SUBST([GTK_API_VERSION])
AC_SUBST([EEK_API_VERSION])
AC_SUBST([EEK_API_MAJOR_VERSION])
AC_SUBST([EEK_API_MINOR_VERSION])
AC_SUBST([EEK_API_PC_VERSION])
AC_SUBST([EEK_LIBRARY_SUFFIX])
AC_SUBST([EEK_LIBRARY_SUFFIX_U],[AS_TR_SH([$EEK_LIBRARY_SUFFIX])])
AM_CONDITIONAL([HAVE_GTK_2],[test "$with_gtk" = "2.0"])
AM_CONDITIONAL([HAVE_GTK_3],[test "$with_gtk" = "3.0"])
AM_PATH_GLIB_2_0
PKG_CHECK_MODULES([GLIB2], [glib-2.0 >= 2.25.4], ,
[AC_MSG_ERROR([GLib2 not found])])
PKG_CHECK_MODULES([GIO2], [gio-2.0], ,
[AC_MSG_ERROR([Gio2 not found])])
PKG_CHECK_MODULES([PANGOCAIRO], [pangocairo], ,
[AC_MSG_ERROR([PangoCairo not found])])
PKG_CHECK_MODULES([GTK], [
gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
gdk-$GTK_API_VERSION >= $GTK_REQUIRED], ,
[AC_MSG_ERROR([GTK not found])])
PKG_CHECK_MODULES([GCONF2], [gconf-2.0], ,
[AC_MSG_ERROR([GConf not found])])
PKG_CHECK_MODULES([XKB], [x11], ,
[AC_MSG_ERROR([XKB support not found])])
PKG_CHECK_MODULES([LIBXKLAVIER], [libxklavier x11], ,
[AC_MSG_ERROR([Libxklavier not found])])
dnl use libfakekey to generate key events
AC_MSG_CHECKING([whether you enable fakekey])
AC_ARG_ENABLE(fakekey,
AS_HELP_STRING([--enable-fakekey=no/yes],
[Enable fakekey default=yes]),,
enable_fakekey=yes)
if test x$enable_fakekey = xyes; then
PKG_CHECK_MODULES([FAKEKEY], [libfakekey], ,
[AC_MSG_ERROR([fakekey not found])])
AC_DEFINE([HAVE_FAKEKEY], [1], [Define if fakekey is found])
fi
AM_CONDITIONAL(ENABLE_FAKEKEY, [test x$enable_fakekey = xyes])
AC_MSG_RESULT($enable_fakekey)
dnl use AT-SPI to capture focus/keystroke events
AC_MSG_CHECKING([whether you enable AT-SPI event handling])
AC_ARG_ENABLE(cspi,
AS_HELP_STRING([--enable-cspi=no/yes],
[Enable AT-SPI event handling default=yes]),,
enable_cspi=yes)
if test x$enable_cspi = xyes; then
PKG_CHECK_MODULES([CSPI], [cspi-1.0], ,
[AC_MSG_ERROR([AT-SPI C not found])])
AC_DEFINE([HAVE_CSPI], [1], [Define if CSPI is found])
fi
AC_MSG_RESULT($enable_cspi)
AM_CONDITIONAL(ENABLE_CSPI, [test x$enable_cspi = xyes])
dnl Python language binding
AC_MSG_CHECKING([whether you enable Python language support])
AC_ARG_ENABLE(python,
AS_HELP_STRING([--enable-python=no/yes],
[Enable Python language binding default=yes]),,
enable_python=yes)
AC_MSG_RESULT($enable_python)
AM_CONDITIONAL(ENABLE_PYTHON, [test x$enable_python = xyes])
if test x"$enable_python" = x"yes"; then
# check python
AM_PATH_PYTHON([2.5])
AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
if test x"$PYTHON_CONFIG" = x""; then
AC_PATH_PROG(PYTHON_CONFIG, python-config)
fi
if test x"$PYTHON_CONFIG" != x""; then
PYTHON_CFLAGS=`$PYTHON_CONFIG --includes`
PYTHON_LIBS=`$PYTHON_CONFIG --libs`
else
PYTHON_CFLAGS=`$PYTHON $srcdir/python-config.py --includes`
PYTHON_LIBS=`$PYTHON $srcdir/python-config.py --libs`
fi
PYTHON_INCLUDES="$PYTHON_CFLAGS"
AC_SUBST(PYTHON_CFLAGS)
AC_SUBST(PYTHON_INCLUDES)
AC_SUBST(PYTHON_LIBS)
else
enable_python="no (disabled, use --enable-python to enable)"
fi
dnl Vala langauge binding
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])
dnl standalone application
AC_MSG_CHECKING([whether you enable eekboard])
AC_ARG_ENABLE(eekboard,
AS_HELP_STRING([--enable-eekboard=no/yes],
[Build standalone application "ekboard" default=yes]),,
enable_eekboard=yes)
AC_MSG_RESULT($enable_eekboard)
AM_CONDITIONAL(ENABLE_EEKBOARD, [test x$enable_eekboard = xyes])
dnl Clutter
AC_MSG_CHECKING([whether you enable Clutter])
AC_ARG_ENABLE(clutter,
AS_HELP_STRING([--enable-clutter=no/yes],
[Enable Clutter user interface default=yes]),,
enable_clutter=no)
AC_MSG_RESULT($enable_clutter)
if test x$enable_clutter = xyes; then
PKG_CHECK_MODULES([CLUTTER], [clutter-1.0], ,
[AC_MSG_ERROR([Clutter not found -- install it or add --disable-clutter])])
AC_DEFINE([HAVE_CLUTTER], [1], [Define if Clutter is found])
have_clutter_gtk=0
need_swap_event_workaround=0
PKG_CHECK_MODULES([CLUTTER_GTK], [clutter-gtk-1.0], [have_clutter_gtk=1],
[PKG_CHECK_MODULES([CLUTTER_GTK], [clutter-gtk-0.10 clutter-x11-1.0],
[have_clutter_gtk=1; need_swap_event_workaround=1])])
AC_DEFINE_UNQUOTED([HAVE_CLUTTER_GTK], $have_clutter_gtk,
[Define if Clutter-Gtk is found])
AC_DEFINE_UNQUOTED([NEED_SWAP_EVENT_WORKAROUND], $need_swap_event_workaround,
[Define if GLX_INTEL_swap_event work around is needed])
fi
AM_CONDITIONAL(ENABLE_CLUTTER, [test x$enable_clutter = xyes])
GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
dnl to re-generate eek/*-keysym-labels.txt
AC_CHECK_PROGS([PYTHON], [python])
dnl define GETTEXT_* variables
GETTEXT_PACKAGE=$PACKAGE
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the read-only architecture-independent data directory.])
AM_GLIB_GNU_GETTEXT
AM_GLIB_DEFINE_LOCALEDIR(EEKBOARD_LOCALEDIR)
GOBJECT_INTROSPECTION_CHECK([0.6.7])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile
eek/Makefile
eekboard/Makefile
src/Makefile
tests/Makefile
bindings/Makefile
bindings/python/Makefile
bindings/python/eekboard/Makefile
bindings/vala/Makefile
docs/Makefile
docs/reference/Makefile
docs/reference/eek/Makefile
docs/reference/eekboard/Makefile
po/Makefile.in
data/Makefile
data/icons/Makefile
data/icons/16x16/Makefile
data/icons/22x22/Makefile
data/icons/24x24/Makefile
data/icons/32x32/Makefile
data/icons/48x48/Makefile
data/icons/scalable/Makefile
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
eekboard/eekboard-${EEK_API_VERSION}.pc])
AC_OUTPUT
AC_MSG_RESULT([
Build options:
Version $VERSION
Install prefix $prefix
Build shared libs $enable_shared
Build static libs $enable_static
CFLAGS $CFLAGS
Build vala binding $enable_vala
Build document $enable_gtk_doc
])

View File

@@ -1 +0,0 @@
SUBDIRS = icons

View File

@@ -0,0 +1,20 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<interface name="sm.puri.OSK0">
<method name="SetVisible">
<arg name="visible" type="b" direction="in"/>
<doc:doc><doc:description>
Switch keyboard visibility
</doc:description></doc:doc>
</method>
<method name="GetVisible">
<arg name="visible" type="b" direction="out"/>
<doc:doc><doc:description>
Get keyboard visibility
</doc:description></doc:doc>
</method>
<property name="Visible" type="b" access="read">
</property>
</interface>
</node>

View File

@@ -0,0 +1,6 @@
[Desktop Entry]
Name=Eekboard
Exec=eekboard -f
Type=Application
#AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-keyboard-enabled
X-GNOME-AutoRestart=true

View File

@@ -1,3 +1,3 @@
[D-BUS Service]
Name=com.redhat.Eekboard.Server
Name=org.fedorahosted.Eekboard
Exec=@bindir@/eekboard-server

9
data/eekboard.desktop.in Normal file
View File

@@ -0,0 +1,9 @@
[Desktop Entry]
Name=Eekboard
GenericName=Eekboard Virtual Keyboard
Comment=Virtual Keyboard
Exec=eekboard
Icon=eekboard
Terminal=false
Type=Application
Categories=GTK;Utility;

View File

@@ -1,16 +0,0 @@
size = 16x16
icondir = $(datadir)/icons/hicolor/$(size)/apps
dist_icon_DATA = eekboard.png
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 B

View File

@@ -1,16 +0,0 @@
size = 22x22
icondir = $(datadir)/icons/hicolor/$(size)/apps
dist_icon_DATA = eekboard.png
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 B

View File

@@ -1,16 +0,0 @@
size = 24x24
icondir = $(datadir)/icons/hicolor/$(size)/apps
dist_icon_DATA = eekboard.png
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 957 B

View File

@@ -1,16 +0,0 @@
size = 32x32
icondir = $(datadir)/icons/hicolor/$(size)/apps
dist_icon_DATA = eekboard.png
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,16 +0,0 @@
size = 48x48
icondir = $(datadir)/icons/hicolor/$(size)/apps
dist_icon_DATA = eekboard.png
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -1 +0,0 @@
SUBDIRS = 16x16 22x22 24x24 32x32 48x48 scalable

10
data/icons/key-enter.svg Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16"
version="1.1" viewBox="0 0 24 24">
<path d="M 24,1 L 24,10 C 24,15 20,17 17,17 L 7,17 L 10,20 L 10,23
L 7,23 L 0,15 L 7,7 L 10,7 L 10,10 L 7,13 L 17,13
C 19,13 20,12 20,10 L 20,1 Z"
stroke="none" fill="black" />
</svg>

After

Width:  |  Height:  |  Size: 388 B

8
data/icons/key-shift.svg Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16"
version="1.1" viewBox="0 0 24 24">
<path d="M 12,2 L 22,14 L 16,14 L 16,22 L 8,22 L 8,14 L 2,14 Z"
stroke="none" fill="black" />
</svg>

After

Width:  |  Height:  |  Size: 279 B

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4043"
version="1.1"
viewBox="0 0 4.2333331 4.2333093"
height="4.2333093mm"
width="4.2333331mm">
<defs
id="defs4037" />
<metadata
id="metadata4040">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-86.329776,-68.097636)"
id="layer1">
<g
style="stroke-width:1.00004983;fill:#2e3436;fill-opacity:1"
transform="matrix(0.99990029,0,0,1,-7.1823833,-1.8799927)"
id="g842">
<g
style="stroke-width:1.00004983;fill:#2e3436;fill-opacity:1"
id="g836">
<path
id="path5166"
d="m 95.636719,69.978516 c -1.165869,0 -2.115235,0.949365 -2.115235,2.115234 0,1.165869 0.949366,2.117188 2.115235,2.117188 1.165869,0 2.117187,-0.951319 2.117187,-2.117188 0,-1.165869 -0.951318,-2.115234 -2.117187,-2.115234 z m 0,0.529296 c 0.879886,0 1.58789,0.706052 1.58789,1.585938 0,0.879886 -0.708004,1.587891 -1.58789,1.587891 -0.879886,0 -1.585938,-0.708005 -1.585938,-1.587891 0,-0.879886 0.706052,-1.585937 1.585938,-1.585938 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52919304;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26459652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 95.636719,70.109375 c -0.144398,0 -0.27248,0.07793 -0.373047,0.189453 -0.100567,0.111521 -0.18209,0.261405 -0.25,0.439453 -0.135821,0.356096 -0.214844,0.830395 -0.214844,1.355469 0,0.525074 0.07902,1.001326 0.214844,1.357422 0.06791,0.178048 0.149433,0.327932 0.25,0.439453 0.100567,0.111521 0.228649,0.1875 0.373047,0.1875 0.144397,0 0.27248,-0.07598 0.373047,-0.1875 0.100566,-0.111521 0.182089,-0.261405 0.25,-0.439453 0.135821,-0.356096 0.216797,-0.832348 0.216796,-1.357422 0,-0.525074 -0.08097,-0.999373 -0.216796,-1.355469 -0.06791,-0.178048 -0.149434,-0.327932 -0.25,-0.439453 -0.100567,-0.111521 -0.22865,-0.189453 -0.373047,-0.189453 z m 0,0.265625 c 0.05067,0 0.109272,0.02564 0.177734,0.101562 0.06846,0.07592 0.139293,0.198356 0.199219,0.355469 0.119851,0.314227 0.197266,0.763915 0.197266,1.261719 0,0.497804 -0.07742,0.949446 -0.197266,1.263672 -0.05993,0.157113 -0.130756,0.279549 -0.199219,0.355469 -0.06846,0.07592 -0.12706,0.101562 -0.177734,0.101562 -0.05067,0 -0.107319,-0.02564 -0.175781,-0.101562 -0.06846,-0.07592 -0.139294,-0.198356 -0.199219,-0.355469 C 95.141867,73.043196 95.0625,72.591554 95.0625,72.09375 c 0,-0.497804 0.07937,-0.947492 0.199219,-1.261719 0.05993,-0.157113 0.130756,-0.279549 0.199219,-0.355469 C 95.5294,70.400643 95.586045,70.375 95.636719,70.375 Z"
id="circle5168" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.26459652;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 93.697266,71.962891 v 0.263671 h 3.96875 v -0.263671 z"
id="path5170" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -1,14 +0,0 @@
icondir = $(datadir)/icons/hicolor/scalable/apps
dist_icon_DATA = eekboard.svg
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 472 KiB

View File

@@ -0,0 +1,120 @@
<?xml version="1.0"?>
<geometry version="0.90">
<bounds x="10" y="10" width="410.0000" height="229"/>
<section angle="0">
<row orientation="1">
<key name="AD01" oref="outline2" />
<key name="AD02" oref="outline2" />
<key name="AD03" oref="outline2" />
<key name="AD04" oref="outline2" />
<key name="AD05" oref="outline2" />
<key name="AD06" oref="outline2" />
<key name="AD07" oref="outline2" />
<key name="AD08" oref="outline2" />
<key name="AD09" oref="outline2" />
<key name="AD10" oref="outline2" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key name="AC01" oref="outline2" />
<key name="AC02" oref="outline2" />
<key name="AC03" oref="outline2" />
<key name="AC04" oref="outline2" />
<key name="AC05" oref="outline2" />
<key name="AC06" oref="outline2" />
<key name="AC07" oref="outline2" />
<key name="AC08" oref="outline2" />
<key name="AC09" oref="outline2" />
<key name="AC10" oref="outline2" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key name="LFSH" oref="altline" />
<key name="AB01" oref="outline2" />
<key name="AB02" oref="outline2" />
<key name="AB03" oref="outline2" />
<key name="AB04" oref="outline2" />
<key name="AB05" oref="outline2" />
<key name="AB06" oref="outline2" />
<key name="AB07" oref="outline2" />
<key name="BKSP" oref="altline" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key keycode="0" name="ABC123" oref="altline" />
<key name="I149" oref="altline" />
<key name="SPCE" oref="spaceline" />
<key name="AB08" oref="outline2" />
<key name="RTRN" oref="outline7" />
</row>
</section>
<outline id="outline2" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="37.46341" y="0.000000"/>
<point x="37.46341" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="altline" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="48.39024" y="0.000000"/>
<point x="48.39024" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline4" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="59.31707" y="0.000000"/>
<point x="59.31707" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline5" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="59.31707" y="0.000000"/>
<point x="59.31707" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline6" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="68.68292" y="0.000000"/>
<point x="68.68292" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline7" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="88.97561" y="0.000000"/>
<point x="88.97561" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline8" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="88.97561" y="0.000000"/>
<point x="88.97561" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline9" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="109.2682" y="0.000000"/>
<point x="109.2682" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline10" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="37.46341" y="0.000000"/>
<point x="37.46341" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline13" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="79.60975" y="0.000000"/>
<point x="79.60975" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="spaceline" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="150.5853" y="0.000000"/>
<point x="150.5853" y="52"/>
<point x="0.000000" y="52"/>
</outline>
</geometry>

View File

@@ -0,0 +1,122 @@
<?xml version="1.0"?>
<geometry version="0.90">
<bounds x="0" y="10.000000" width="426.0000" height="296.5853"/>
<section angle="0">
<row orientation="1">
<key name="AD01" oref="outline2" />
<key name="AD02" oref="outline2" />
<key name="AD03" oref="outline2" />
<key name="AD04" oref="outline2" />
<key name="AD05" oref="outline2" />
<key name="AD06" oref="outline2" />
<key name="AD07" oref="outline2" />
<key name="AD08" oref="outline2" />
<key name="AD09" oref="outline2" />
<key name="AD10" oref="outline2" />
<key name="AD11" oref="outline2" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key name="AC01" oref="outline2" />
<key name="AC02" oref="outline2" />
<key name="AC03" oref="outline2" />
<key name="AC04" oref="outline2" />
<key name="AC05" oref="outline2" />
<key name="AC06" oref="outline2" />
<key name="AC07" oref="outline2" />
<key name="AC08" oref="outline2" />
<key name="AC09" oref="outline2" />
<key name="AC10" oref="outline2" />
<key name="AC11" oref="outline2" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key name="LFSH" oref="altline" />
<key name="AB01" oref="outline2" />
<key name="AB02" oref="outline2" />
<key name="AB03" oref="outline2" />
<key name="AB04" oref="outline2" />
<key name="AB05" oref="outline2" />
<key name="AB06" oref="outline2" />
<key name="AB07" oref="outline2" />
<key name="BKSP" oref="altline" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key keycode="0" name="ABC123" oref="altline" />
<key name="I149" oref="altline" />
<key name="SPCE" oref="spaceline" />
<key name="AB08" oref="outline2" />
<key name="RTRN" oref="outline7" />
</row>
</section>
<outline id="outline2" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="32" y="0.000000"/>
<point x="32" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="altline" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="48.39024" y="0.000000"/>
<point x="48.39024" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline4" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="59.31707" y="0.000000"/>
<point x="59.31707" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline5" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="59.31707" y="0.000000"/>
<point x="59.31707" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline6" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="68.68292" y="0.000000"/>
<point x="68.68292" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline7" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="88.97561" y="0.000000"/>
<point x="88.97561" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline8" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="88.97561" y="0.000000"/>
<point x="88.97561" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline9" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="109.2682" y="0.000000"/>
<point x="109.2682" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline10" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="37.46341" y="0.000000"/>
<point x="37.46341" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="outline13" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="79.60975" y="0.000000"/>
<point x="79.60975" y="52"/>
<point x="0.000000" y="52"/>
</outline>
<outline id="spaceline" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="150.5853" y="0.000000"/>
<point x="150.5853" y="52"/>
<point x="0.000000" y="52"/>
</outline>
</geometry>

View File

@@ -0,0 +1,105 @@
<?xml version="1.0"?>
<geometry version="0.90">
<bounds x="0" y="10.000000" width="426.0000" height="296.5853"/>
<section angle="0">
<row orientation="1">
<key name="AD01" oref="outline2" />
<key name="AD02" oref="outline2" />
<key name="AD03" oref="outline2" />
<key name="AD04" oref="outline2" />
<key name="AD05" oref="outline2" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key name="AC01" oref="outline2" />
<key name="AC02" oref="outline2" />
<key name="AC03" oref="outline2" />
<key name="AC04" oref="outline2" />
<key name="AC05" oref="outline2" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key name="AB01" oref="outline2" />
<key name="AB02" oref="outline2" />
<key name="AB03" oref="outline2" />
<key name="AB04" oref="outline2" />
<key name="AB05" oref="outline2" />
</row>
</section>
<section angle="0">
<row orientation="1">
<key name="BKSP" oref="altline" />
<key name="AB06" oref="outline2" />
<key name="SPCE" oref="spaceline" />
<key name="RTRN" oref="outline7" />
</row>
</section>
<outline id="outline2" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="37.46341" y="0.000000"/>
<point x="37.46341" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="altline" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="48.39024" y="0.000000"/>
<point x="48.39024" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline4" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="59.31707" y="0.000000"/>
<point x="59.31707" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline5" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="59.31707" y="0.000000"/>
<point x="59.31707" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline6" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="68.68292" y="0.000000"/>
<point x="68.68292" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline7" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="88.97561" y="0.000000"/>
<point x="88.97561" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline8" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="88.97561" y="0.000000"/>
<point x="88.97561" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline9" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="109.2682" y="0.000000"/>
<point x="109.2682" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline10" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="37.46341" y="0.000000"/>
<point x="37.46341" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="outline13" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="79.60975" y="0.000000"/>
<point x="79.60975" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
<outline id="spaceline" corner-radius="1.000000">
<point x="0.000000" y="0.000000"/>
<point x="120.5853" y="0.000000"/>
<point x="120.5853" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
</geometry>

View File

@@ -0,0 +1,100 @@
<?xml version="1.0"?>
<keyboards version="0.90">
<keyboard id="ar" name="ar"
geometry="compact" symbols="ar"
longname="Arabic" language="ar"/>
<keyboard id="be" name="be"
geometry="compact" symbols="be"
longname="Belarusian" language="be"/>
<keyboard id="fa" name="fa"
geometry="compact" symbols="fa"
longname="Farsi (ISIRI 2901-1994)" language="fa"/>
<keyboard id="he" name="he"
geometry="compact" symbols="he"
longname="Hebrew" language="he"/>
<keyboard id="ja" name="ja"
geometry="compact" symbols="ja-kana"
longname="Japanese (Kana)" language="ja"/>
<keyboard id="kk" name="kk"
geometry="compact" symbols="kk"
longname="Kazakh" language="kk"/>
<keyboard id="ks" name="ks"
geometry="compact" symbols="ks"
longname="Kashmiri" language="ks"/>
<keyboard id="my" name="my"
geometry="compact" symbols="my"
longname="Myanmar" language="my"/>
<keyboard id="nb" name="nb"
geometry="extended" symbols="nb"
longname="Norwegian" language="nb"/>
<keyboard id="ru" name="ru"
geometry="compact" symbols="us"
longname="Russian" language="ru"/>
<keyboard id="th" name="th"
geometry="compact" symbols="th"
longname="Thai" language="th"/>
<keyboard id="ua" name="ua"
geometry="compact" symbols="ua"
longname="Ukrainian" language="ua"/>
<keyboard id="ug" name="ug"
geometry="compact" symbols="ug"
longname="Uyghur" language="ug"/>
<keyboard id="us" name="us"
geometry="compact" symbols="us"
longname="US" language="en"/>
<keyboard id="zh-bopomofo" name="zh-bopomofo"
geometry="compact" symbols="zh-bopomofo"
longname="Chinese (Bopomofo)" language="zh"/>
<!-- Indic Inscript keyboards converted from m17n-lib -->
<keyboard id="as-inscript" name="as-inscript"
geometry="compact" symbols="as-inscript"
longname="Assamese (Inscript)" language="as"/>
<keyboard id="bn-inscript" name="bn-inscript"
geometry="compact" symbols="bn-inscript"
longname="Bengali (Inscript)" language="bn"/>
<keyboard id="gu-inscript" name="gu-inscript"
geometry="compact" symbols="gu-inscript"
longname="Gujarati (Inscript)" language="gu"/>
<keyboard id="hi-inscript" name="hi-inscript"
geometry="compact" symbols="hi-inscript"
longname="Hindi (Inscript)" language="hi"/>
<keyboard id="kn-inscript" name="kn-inscript"
geometry="compact" symbols="kn-inscript"
longname="Kannada (Inscript)" language="kn"/>
<keyboard id="ks-inscript" name="ks-inscript"
geometry="compact" symbols="ks-inscript"
longname="Kashmiri Devanagari (Inscript)" language="ks"/>
<keyboard id="mai-inscript" name="mai-inscript"
geometry="compact" symbols="mai-inscript"
longname="Maithili (Inscript)" language="mai"/>
<keyboard id="ml-inscript" name="ml-inscript"
geometry="compact" symbols="ml-inscript"
longname="Malayalam (Inscript)" language="ml-inscript"/>
<keyboard id="mr-inscript" name="mr-inscript"
geometry="compact" symbols="mr-inscript"
longname="Marathi (Inscript)" language="mr"/>
<keyboard id="or-inscript" name="or-inscript"
geometry="compact" symbols="or-inscript"
longname="Oriya (Inscript)" language="or"/>
<keyboard id="pa-inscript" name="pa-inscript"
geometry="compact" symbols="pa-inscript"
longname="Punjabi (Inscript)" language="pa"/>
<keyboard id="sd-inscript" name="sd-inscript"
geometry="compact" symbols="sd-inscript"
longname="Sindhi (Inscript)" language="sd"/>
<keyboard id="ta-inscript" name="ta-inscript"
geometry="compact" symbols="ta-inscript"
longname="Tamil (Inscript)" language="ta"/>
<keyboard id="te-inscript" name="te-inscript"
geometry="compact" symbols="te-inscript"
longname="Telugu (Inscript)" language="te"/>
<!-- Common keyboards -->
<keyboard id="number" name="number"
geometry="number-keypad" symbols="special/number"
longname="Numeric keypad" language="all"/>
<keyboard id="phone" name="phone"
geometry="number-keypad" symbols="special/number"
longname="Phone keypad" language="all"/>
</keyboards>

View File

@@ -0,0 +1,181 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">ّ</text>
</key>
<key keycode="10" name="AE01">
<text category="letter">١</text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter">٢</text>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<text category="letter">٣</text>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<text category="letter">٤</text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter">٥</text>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">٦</text>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<text category="letter">٧</text>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<text category="letter">٨</text>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<text category="letter">٩</text>
<text category="letter">)</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">٠</text>
<text category="letter">(</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">ض</text>
<text category="letter">َ</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ص</text>
<text category="letter">ً</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">ث</text>
<text category="letter">ُ</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">ق</text>
<text category="letter">ٌ</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">ف</text>
<text category="letter">لإ</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">غ</text>
<text category="letter">إ</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">ع</text>
<text category="letter">`</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ه</text>
<text category="letter">÷</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">خ</text>
<text category="letter">×</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">ح</text>
<text category="letter">؛</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">ج</text>
<text category="letter">&gt;</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">د</text>
<text category="letter">&lt;</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ش</text>
<text category="letter">ِ</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">س</text>
<text category="letter">ٍ</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">ي</text>
<text category="letter">]</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ب</text>
<text category="letter">[</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">ل</text>
<text category="letter">لأ</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">ا</text>
<text category="letter">أ</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">ت</text>
<text category="letter">ـ</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">ن</text>
<text category="letter">،</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">م</text>
<text category="letter">/</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ك</text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="52" name="AB01">
<text category="letter">ئ</text>
<text category="letter">~</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ء</text>
<text category="letter">ْ</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">ؤ</text>
<text category="letter">}</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">ر</text>
<text category="letter">{</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">لا</text>
<text category="letter">لآ</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">ى</text>
<text category="letter">آ</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ة</text>
<text category="letter">&apos;</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">و</text>
<text category="letter">,</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ز</text>
<text category="letter">.</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">ظ</text>
<text category="letter">؟</text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">~</text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">্ৰ</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">ৰ্</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">জ্ঞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">ত্ৰ</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">ক্ষ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">শ্ৰ</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ি</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter">J</text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">V</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter">B</text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter">N</text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">Ё</text>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<text category="letter">;</text>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<text category="letter">:</text>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<text category="letter">?</text>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">й</text>
<text category="letter">Й</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ц</text>
<text category="letter">Ц</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">у</text>
<text category="letter">У</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">к</text>
<text category="letter">К</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">е</text>
<text category="letter">Е</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">н</text>
<text category="letter">Н</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">г</text>
<text category="letter">Г</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ш</text>
<text category="letter">Ш</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">ў</text>
<text category="letter">Ў</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">з</text>
<text category="letter">З</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">х</text>
<text category="letter">Х</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">&apos;</text>
<text category="letter">&apos;</text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ф</text>
<text category="letter">Ф</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">ы</text>
<text category="letter">Ы</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">в</text>
<text category="letter">В</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">а</text>
<text category="letter">А</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">п</text>
<text category="letter">П</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">р</text>
<text category="letter">Р</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">о</text>
<text category="letter">О</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">л</text>
<text category="letter">Л</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">д</text>
<text category="letter">Д</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ж</text>
<text category="letter">Ж</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">Э</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">я</text>
<text category="letter">Я</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ч</text>
<text category="letter">Ч</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">с</text>
<text category="letter">С</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">м</text>
<text category="letter">М</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">і</text>
<text category="letter">І</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">т</text>
<text category="letter">Т</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ь</text>
<text category="letter">Ь</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">б</text>
<text category="letter">Б</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ю</text>
<text category="letter">Ю</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">.</text>
<text category="letter">,</text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">~</text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">^</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">&amp;</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ি</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter">J</text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter">z</text>
<text category="letter">Z</text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">V</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter">B</text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter">N</text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<text category="letter">۱</text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter">۲</text>
<text category="letter">٬</text>
</key>
<key keycode="12" name="AE03">
<text category="letter">۳</text>
<text category="letter">٫</text>
</key>
<key keycode="13" name="AE04">
<text category="letter">۴</text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter">۵</text>
<text category="letter">٪</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">۶</text>
<text category="letter">×</text>
</key>
<key keycode="16" name="AE07">
<text category="letter">۷</text>
<text category="letter">،</text>
</key>
<key keycode="17" name="AE08">
<text category="letter">۸</text>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<text category="letter">۹</text>
<text category="letter">)</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">۰</text>
<text category="letter">(</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter">ض</text>
<text category="letter">ْ</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ص</text>
<text category="letter">ٌ</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">ث</text>
<text category="letter">ٍ</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">ق</text>
<text category="letter">ً</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">ف</text>
<text category="letter">ُ</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">غ</text>
<text category="letter">ِ</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">ع</text>
<text category="letter">َ</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ه</text>
<text category="letter">ّ</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">خ</text>
<text category="letter">]</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">ح</text>
<text category="letter">[</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">ج</text>
<text category="letter">}</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">چ</text>
<text category="letter">{</text>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter">ش</text>
<text category="letter">ؤ</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">س</text>
<text category="letter">ئ</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">ی</text>
<text category="letter">ي</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ب</text>
<text category="letter">إ</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">ل</text>
<text category="letter">أ</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">ا</text>
<text category="letter">آ</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">ت</text>
<text category="letter">ة</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">ن</text>
<text category="letter">»</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">م</text>
<text category="letter">«</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ک</text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">؛</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">ظ</text>
<text category="letter">ك</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ط</text>
<keysym keyval="88">X</keysym>
</key>
<key keycode="54" name="AB03">
<text category="letter">ز</text>
<text category="letter">ژ</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">ر</text>
<keysym keyval="86">V</keysym>
</key>
<key keycode="56" name="AB05">
<text category="letter">ذ</text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter">د</text>
<text name="N" category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter">پ</text>
<text category="letter">ء</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">و</text>
<text category="letter">&gt;</text>
</key>
<key keycode="60" name="AB09">
<keysym keyval="46">period</keysym>
<text category="letter">&lt;</text>
</key>
<key keycode="61" name="AB10">
<keysym keyval="47">slash</keysym>
<text category="letter">؟</text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">~</text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">જ્ઞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">ત્ર</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">ક્ષ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">શ્ર</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">િ</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">&quot;</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter">&apos;</text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter">?</text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<text category="letter">)</text>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<text category="letter">(</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter">/</text>
<keysym keyval="81">Q</keysym>
</key>
<key keycode="25" name="AD02">
<text category="letter">&apos;</text>
<keysym keyval="87">W</keysym>
</key>
<key keycode="26" name="AD03">
<text category="letter">ק</text>
<keysym keyval="69">E</keysym>
</key>
<key keycode="27" name="AD04">
<text category="letter">ר</text>
<keysym keyval="82">R</keysym>
</key>
<key keycode="28" name="AD05">
<text category="letter">א</text>
<keysym keyval="84">T</keysym>
</key>
<key keycode="29" name="AD06">
<text category="letter">ט</text>
<keysym keyval="89">Y</keysym>
</key>
<key keycode="30" name="AD07">
<text category="letter">ו</text>
<keysym keyval="85">U</keysym>
</key>
<key keycode="31" name="AD08">
<text category="letter">ן</text>
<keysym keyval="73">I</keysym>
</key>
<key keycode="32" name="AD09">
<text category="letter">ם</text>
<keysym keyval="79">O</keysym>
</key>
<key keycode="33" name="AD10">
<text category="letter">פ</text>
<keysym keyval="80">P</keysym>
</key>
<key keycode="34" name="AD11">
<text category="letter">]</text>
<text category="letter">}</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">[</text>
<text category="letter">{</text>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter">ש</text>
<keysym keyval="65">A</keysym>
</key>
<key keycode="39" name="AC02">
<text category="letter">ד</text>
<keysym keyval="83">S</keysym>
</key>
<key keycode="40" name="AC03">
<text category="letter">ג</text>
<keysym keyval="68">D</keysym>
</key>
<key keycode="41" name="AC04">
<text category="letter">כ</text>
<keysym keyval="70">F</keysym>
</key>
<key keycode="42" name="AC05">
<text category="letter">ע</text>
<keysym keyval="71">G</keysym>
</key>
<key keycode="43" name="AC06">
<text category="letter">י</text>
<keysym keyval="72">H</keysym>
</key>
<key keycode="44" name="AC07">
<text category="letter">ח</text>
<keysym keyval="74">J</keysym>
</key>
<key keycode="45" name="AC08">
<text category="letter">ל</text>
<keysym keyval="75">K</keysym>
</key>
<key keycode="46" name="AC09">
<text category="letter">ך</text>
<keysym keyval="76">L</keysym>
</key>
<key keycode="47" name="AC10">
<text category="letter">ף</text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="52" name="AB01">
<text category="letter">ז</text>
<keysym keyval="90">Z</keysym>
</key>
<key keycode="53" name="AB02">
<text category="letter">ס</text>
<keysym keyval="88">X</keysym>
</key>
<key keycode="54" name="AB03">
<text category="letter">ב</text>
<keysym keyval="67">C</keysym>
</key>
<key keycode="55" name="AB04">
<text category="letter">ה</text>
<keysym keyval="86">V</keysym>
</key>
<key keycode="56" name="AB05">
<text category="letter">נ</text>
<keysym keyval="66">B</keysym>
</key>
<key keycode="57" name="AB06">
<text category="letter">מ</text>
<keysym keyval="78">N</keysym>
</key>
<key keycode="58" name="AB07">
<text category="letter">צ</text>
<keysym keyval="77">M</keysym>
</key>
<key keycode="59" name="AB08">
<text category="letter">ת</text>
<text category="letter">&gt;</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ץ</text>
<text category="letter">&lt;</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">.</text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter">्‌</text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@@ -0,0 +1,154 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="1246"></keysym>
<keysym keyval="1247"></keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="1223"></keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="1228"></keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="1201"></keysym>
<keysym keyval="1191"></keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="1203"></keysym>
<keysym keyval="1193"></keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="1204"></keysym>
<keysym keyval="1194"></keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="1205"></keysym>
<keysym keyval="1195"></keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="1236"></keysym>
<keysym keyval="1196"></keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="1237"></keysym>
<keysym keyval="1197"></keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="1238"></keysym>
<keysym keyval="1198"></keysym>
</key>
<key keycode="19" name="AE10">
<keysym keyval="1244"></keysym>
<keysym keyval="1190"></keysym>
</key>
<key keycode="20" name="AE11">
<keysym keyval="1230"></keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="1229"></keysym>
</key>
<key keycode="24" name="AD01">
<keysym keyval="1216"></keysym>
</key>
<key keycode="25" name="AD02">
<keysym keyval="1219"></keysym>
</key>
<key keycode="26" name="AD03">
<keysym keyval="1202"></keysym>
<keysym keyval="1192"></keysym>
</key>
<key keycode="27" name="AD04">
<keysym keyval="1213"></keysym>
</key>
<key keycode="28" name="AD05">
<keysym keyval="1206"></keysym>
</key>
<key keycode="29" name="AD06">
<keysym keyval="1245"></keysym>
</key>
<key keycode="30" name="AD07">
<keysym keyval="1221"></keysym>
</key>
<key keycode="31" name="AD08">
<keysym keyval="1222"></keysym>
</key>
<key keycode="32" name="AD09">
<keysym keyval="1239"></keysym>
</key>
<key keycode="33" name="AD10">
<keysym keyval="1214"></keysym>
</key>
<key keycode="34" name="AD11">
<keysym keyval="1233"></keysym>
</key>
<key keycode="35" name="AD12">
<keysym keyval="1243"></keysym>
</key>
<key keycode="38" name="AC01">
<keysym keyval="1217"></keysym>
</key>
<key keycode="39" name="AC02">
<keysym keyval="1220"></keysym>
</key>
<key keycode="40" name="AC03">
<keysym keyval="1212"></keysym>
</key>
<key keycode="41" name="AC04">
<keysym keyval="1226"></keysym>
</key>
<key keycode="42" name="AC05">
<keysym keyval="1207"></keysym>
</key>
<key keycode="43" name="AC06">
<keysym keyval="1208"></keysym>
</key>
<key keycode="44" name="AC07">
<keysym keyval="1231"></keysym>
</key>
<key keycode="45" name="AC08">
<keysym keyval="1225"></keysym>
</key>
<key keycode="46" name="AC09">
<keysym keyval="1240"></keysym>
</key>
<key keycode="47" name="AC10">
<keysym keyval="1242"></keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="1209"></keysym>
</key>
<key keycode="52" name="AB01">
<keysym keyval="1218"></keysym>
<keysym keyval="1199"></keysym>
</key>
<key keycode="53" name="AB02">
<keysym keyval="1211"></keysym>
</key>
<key keycode="54" name="AB03">
<keysym keyval="1215"></keysym>
</key>
<key keycode="55" name="AB04">
<keysym keyval="1227"></keysym>
</key>
<key keycode="56" name="AB05">
<keysym keyval="1210"></keysym>
</key>
<key keycode="57" name="AB06">
<keysym keyval="1232"></keysym>
</key>
<key keycode="58" name="AB07">
<keysym keyval="1235"></keysym>
</key>
<key keycode="59" name="AB08">
<keysym keyval="1224"></keysym>
</key>
<key keycode="60" name="AB09">
<keysym keyval="1241"></keysym>
</key>
<key keycode="61" name="AB10">
<keysym keyval="1234"></keysym>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">)</text>
</key>
<key keycode="10" name="AE01">
<text category="letter">&quot;</text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter">ә</text>
<text category="letter">Ә</text>
</key>
<key keycode="12" name="AE03">
<text category="letter">і</text>
<text category="letter">І</text>
</key>
<key keycode="13" name="AE04">
<text category="letter">ӊ</text>
<text category="letter">Ӊ</text>
</key>
<key keycode="14" name="AE05">
<text category="letter">ғ</text>
<text category="letter">Ғ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">,</text>
<text category="letter">;</text>
</key>
<key keycode="16" name="AE07">
<text category="letter">.</text>
<text category="letter">:</text>
</key>
<key keycode="17" name="AE08">
<text category="letter">ү</text>
<text category="letter">Ү</text>
</key>
<key keycode="18" name="AE09">
<text category="letter">ұ</text>
<text category="letter">Ұ</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">қ</text>
<text category="letter">Қ</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">ө</text>
<text category="letter">Ө</text>
</key>
<key keycode="21" name="AE12">
<text category="letter">һ</text>
<text category="letter">Һ</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">й</text>
<text category="letter">Й</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ц</text>
<text category="letter">Ц</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">у</text>
<text category="letter">У</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">к</text>
<text category="letter">К</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">е</text>
<text category="letter">Е</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">н</text>
<text category="letter">Н</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">г</text>
<text category="letter">Г</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ш</text>
<text category="letter">Ш</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">щ</text>
<text category="letter">Щ</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">з</text>
<text category="letter">З</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">х</text>
<text category="letter">Х</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">ъ</text>
<text category="letter">Ъ</text>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter">ф</text>
<text category="letter">Ф</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">ы</text>
<text category="letter">Ы</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">в</text>
<text category="letter">В</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">а</text>
<text category="letter">А</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">п</text>
<text category="letter">П</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">р</text>
<text category="letter">Р</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">о</text>
<text category="letter">О</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">л</text>
<text category="letter">Л</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">д</text>
<text category="letter">Д</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ж</text>
<text category="letter">Ж</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">Э</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">я</text>
<text category="letter">Я</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ч</text>
<text category="letter">Ч</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">с</text>
<text category="letter">С</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">м</text>
<text category="letter">М</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">и</text>
<text category="letter">И</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">т</text>
<text category="letter">Т</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ь</text>
<text category="letter">Ь</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">б</text>
<text category="letter">Б</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ю</text>
<text category="letter">Ю</text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ಜ್ಞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">ತ್ರ</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">ಕ್ಷ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">ಶ್ರ</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter">]</text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ಿ</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text name="X" category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<keysym keyval="66">B</keysym>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter">ॿ</text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter">्‌</text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<keysym keyval="103">g</keysym>
<keysym keyval="71">G</keysym>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">ً</text>
</key>
<key keycode="10" name="AE01">
<text category="letter">۱</text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter">۲</text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter">۳</text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter">۴</text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter">۵</text>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">۶</text>
<text category="letter">^</text>
</key>
<key keycode="16" name="AE07">
<text category="letter">۷</text>
<text category="letter">&amp;</text>
</key>
<key keycode="17" name="AE08">
<text category="letter">۸</text>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<text category="letter">۹</text>
<text category="letter">)</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">۰</text>
<text category="letter">(</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter">ّ</text>
</key>
<key keycode="21" name="AE12">
<text category="letter">=</text>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">ق</text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter">و</text>
<text category="letter">ؤ</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">ع</text>
<text category="letter">ئ</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">ر</text>
<text category="letter">ڑ</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">ت</text>
<text category="letter">ٹ</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">ے</text>
<text category="letter">؁</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">ء</text>
<text category="letter">،</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ی</text>
<text category="letter">ۆ</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">ہ</text>
<text category="letter">ۃ</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">پ</text>
<text category="letter">إ</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">]</text>
<text category="letter">ٰ</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">[</text>
<text category="letter">ٰ</text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">؎</text>
<text category="letter">أ</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ا</text>
<text category="letter">آ</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">س</text>
<text category="letter">ش</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">د</text>
<text category="letter">ڈ</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ف</text>
<text category="letter">ُ</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">گ</text>
<text category="letter">غ</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">ھ</text>
<text category="letter">ح</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">ج</text>
<text category="letter">ژ</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">ک</text>
<text category="letter">خ</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">ل</text>
<text category="letter">ؓ</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">؛</text>
<text category="letter">:</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">ز</text>
<text category="letter">ذ</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ص</text>
<text category="letter">ض</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">چ</text>
<text category="letter">ث</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">ط</text>
<text category="letter">ظ</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">ب</text>
<text category="letter">أ</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">ن</text>
<text category="letter">ں</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">م</text>
<text category="letter">ٔ</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">،</text>
<text category="letter">ِ</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">۔</text>
<text category="letter">َ</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">/</text>
<text category="letter">؟</text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter">्‌</text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">്ര</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">^</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">ക്ഷ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ി</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter">X</text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">V</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter">&gt;</text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<keysym keyval="87">W</keysym>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<keysym keyval="69">E</keysym>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<keysym keyval="82">R</keysym>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<keysym keyval="84">T</keysym>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<keysym keyval="89">Y</keysym>
</key>
<key keycode="30" name="AD07">
<text category="letter">က</text>
<keysym keyval="85">U</keysym>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<keysym keyval="73">I</keysym>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<keysym keyval="75">K</keysym>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<keysym keyval="76">L</keysym>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<keysym keyval="66">B</keysym>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<keysym keyval="78">N</keysym>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<keysym keyval="77">M</keysym>
</key>
<key keycode="59" name="AB08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@@ -0,0 +1,206 @@
<?xml version='1.0' encoding='ASCII' standalone='yes'?>
<symbols version="0.90">
<key name="AD01">
<symbol label="q">q</symbol>
<symbol label="Q">Q</symbol>
<symbol label="1">1</symbol>
<symbol label="~">asciitilde</symbol>
</key>
<key name="AD02">
<symbol label="w">w</symbol>
<symbol label="W">W</symbol>
<symbol label="2">2</symbol>
<symbol label="`">quoteleft</symbol>
</key>
<key name="AD03">
<symbol label="e">e</symbol>
<symbol label="E">E</symbol>
<symbol label="3">3</symbol>
<symbol label="|">bar</symbol>
</key>
<key name="AD04">
<symbol label="r">r</symbol>
<symbol label="R">R</symbol>
<symbol label="4">4</symbol>
<symbol label="&#183;">U00B7</symbol>
</key>
<key name="AD05">
<symbol label="t">t</symbol>
<symbol label="T">T</symbol>
<symbol label="5">5</symbol>
<symbol label="&#8730;">squareroot</symbol>
</key>
<key name="AD06">
<symbol label="y">y</symbol>
<symbol label="Y">Y</symbol>
<symbol label="6">6</symbol>
<symbol label="&#960;">Greek_pi</symbol>
</key>
<key name="AD07">
<symbol label="u">u</symbol>
<symbol label="U">U</symbol>
<symbol label="7">7</symbol>
<symbol label="&#247;">division</symbol>
</key>
<key name="AD08">
<symbol label="i">i</symbol>
<symbol label="I">I</symbol>
<symbol label="8">8</symbol>
<symbol label="&#215;">multiply</symbol>
</key>
<key name="AD09">
<symbol label="o">o</symbol>
<symbol label="O">O</symbol>
<symbol label="9">9</symbol>
<symbol label="&#182;">paragraph</symbol>
</key>
<key name="AD10">
<symbol label="p">p</symbol>
<symbol label="P">P</symbol>
<symbol label="0">0</symbol>
<symbol label="&#9651;">U25B3</symbol>
</key>
<key name="AD11">
<symbol keyval="229" label="&#229;">aring</symbol>
<symbol keyval="197" label="&#197;">Aring</symbol>
<symbol label=""></symbol>
<symbol label=""></symbol>
<!-- Empty labels cause keys to be hidden when the level they are defined
for is shown. -->
</key>
<key name="AC01">
<symbol label="a">a</symbol>
<symbol label="A">A</symbol>
<symbol label="@">at</symbol>
<symbol label="&#169;">copyright</symbol>
</key>
<key name="AC02">
<symbol label="s">s</symbol>
<symbol label="S">S</symbol>
<symbol label="#">numbersign</symbol>
<symbol label="&#174;">U00AE</symbol>
</key>
<key name="AC03">
<symbol label="d">d</symbol>
<symbol label="D">D</symbol>
<symbol label="$">dollar</symbol>
<symbol label="&#163;">U00A3</symbol>
</key>
<key name="AC04">
<symbol label="f">f</symbol>
<symbol label="F">F</symbol>
<symbol label="%">percent</symbol>
<symbol label="&#8364;">EuroSign</symbol>
</key>
<key name="AC05">
<symbol label="g">g</symbol>
<symbol label="G">G</symbol>
<symbol label="&amp;">ampersand</symbol>
<symbol label="&#165;">U00A5</symbol>
</key>
<key name="AC06">
<symbol label="h">h</symbol>
<symbol label="H">H</symbol>
<symbol label="-">minus</symbol>
<symbol label="^">asciicircum</symbol>
</key>
<key name="AC07">
<symbol label="j">j</symbol>
<symbol label="J">J</symbol>
<symbol label="_">underscore</symbol>
<symbol label="&#176;">degree</symbol>
</key>
<key name="AC08">
<symbol label="k">k</symbol>
<symbol label="K">K</symbol>
<symbol label="+">plus</symbol>
<symbol label="=">equal</symbol>
</key>
<key name="AC09">
<symbol label="l">l</symbol>
<symbol label="L">L</symbol>
<symbol label="(">parenleft</symbol>
<symbol label="{">braceleft</symbol>
</key>
<key name="AC10">
<symbol keyval="248" label="&#248;">oslash</symbol>
<symbol keyval="216" label="&#216;">Oslash</symbol>
<symbol label=")">parenright</symbol>
<symbol label="}">braceright</symbol>
</key>
<key name="AC11">
<symbol keyval="230" label="&#230;">ae</symbol>
<symbol keyval="198" label="&#198;">AE</symbol>
<symbol label=""></symbol>
<symbol label=""></symbol>
</key>
<key name="RTRN">
<symbol keyval="65293" icon="key-enter">Return</symbol>
</key>
<key name="LFSH">
<keysym keyval="65505" icon="key-shift">Shift_L</keysym>
<keysym keyval="65505" icon="key-shift">Shift_L</keysym>
<keysym keyval="65505" label="=/+">Shift_L</keysym>
<keysym keyval="65505" label="123">Shift_L</keysym>
</key>
<key name="AB01">
<symbol label="z">z</symbol>
<symbol label="Z">Z</symbol>
<symbol label=",">comma</symbol>
<symbol label="\">backslash</symbol>
</key>
<key name="AB02">
<symbol label="x">x</symbol>
<symbol label="X">X</symbol>
<symbol label="&quot;">quotedbl</symbol>
<symbol label="/">slash</symbol>
</key>
<key name="AB03">
<symbol label="c">c</symbol>
<symbol label="C">C</symbol>
<symbol label="'">quoteright</symbol>
<symbol label="&lt;">less</symbol>
</key>
<key name="AB04">
<symbol label="v">v</symbol>
<symbol label="V">V</symbol>
<symbol label=":">colon</symbol>
<symbol label="&gt;">greater</symbol>
</key>
<key name="AB05">
<symbol label="b">b</symbol>
<symbol label="B">B</symbol>
<symbol label=";">semicolon</symbol>
<symbol label="=">equal</symbol>
</key>
<key name="AB06">
<symbol label="n">n</symbol>
<symbol label="N">N</symbol>
<symbol label="!">exclam</symbol>
<symbol label="[">bracketleft</symbol>
</key>
<key name="AB07">
<symbol label="m">m</symbol>
<symbol label="M">M</symbol>
<symbol label="?">question</symbol>
<symbol label="]">bracketright</symbol>
</key>
<key name="AB08">
<symbol label=".">period</symbol>
</key>
<key name="ABC123">
<symbol label="123">show-numbers</symbol>
<symbol label="123">show-numbers</symbol>
<symbol label="ABC">show-letters</symbol>
<symbol label="ABC">show-letters</symbol>
</key>
<key name="I149">
<symbol icon="keyboard-mode-symbolic" tooltip="Setup">preferences</symbol>
</key>
<key name="SPCE">
<symbol label=" ">space</symbol>
</key>
<key name="BKSP">
<symbol keyval="65288" icon="edit-clear-symbolic">BackSpace</symbol>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">୍ର</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">ର୍</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ଜ୍ଞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">ତ୍ର</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">କ୍ଷ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">ଶ୍ର</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ି</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter">J</text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter">z</text>
<text category="letter">Z</text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter">V</text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<text category="letter">=</text>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ਿ</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter">?</text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">Ё</text>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<text category="letter">;</text>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<text category="letter">:</text>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<text category="letter">?</text>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">й</text>
<text category="letter">Й</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ц</text>
<text category="letter">Ц</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">у</text>
<text category="letter">У</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">к</text>
<text category="letter">К</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">е</text>
<text category="letter">Е</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">н</text>
<text category="letter">Н</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">г</text>
<text category="letter">Г</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ш</text>
<text category="letter">Ш</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">щ</text>
<text category="letter">Щ</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">з</text>
<text category="letter">З</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">х</text>
<text category="letter">Х</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">ъ</text>
<text category="letter">Ъ</text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ф</text>
<text category="letter">Ф</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">ы</text>
<text category="letter">Ы</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">в</text>
<text category="letter">В</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">а</text>
<text category="letter">А</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">п</text>
<text category="letter">П</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">р</text>
<text category="letter">Р</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">о</text>
<text category="letter">О</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">л</text>
<text category="letter">Л</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">д</text>
<text category="letter">Д</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ж</text>
<text category="letter">Ж</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">Э</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">я</text>
<text category="letter">Я</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ч</text>
<text category="letter">Ч</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">с</text>
<text category="letter">С</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">м</text>
<text category="letter">М</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">и</text>
<text category="letter">И</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">т</text>
<text category="letter">Т</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ь</text>
<text category="letter">Ь</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">б</text>
<text category="letter">Б</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ю</text>
<text category="letter">Ю</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">.</text>
<text category="letter">,</text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">ज्ञ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">त्र</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">क्ष</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">श्र</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter">ॿ</text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter">्‌</text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ि</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter"></text>
</key>
</symbols>

View File

@@ -0,0 +1,60 @@
<?xml version='1.0' encoding='ASCII' standalone='yes'?>
<symbols version="0.90">
<key name="AD01">
<symbol label="1">1</symbol>
</key>
<key name="AD02">
<symbol label="2">2</symbol>
</key>
<key name="AD03">
<symbol label="3">3</symbol>
</key>
<key name="AD04">
<symbol label="(">parenleft</symbol>
</key>
<key name="AD05">
<symbol label=")">parenright</symbol>
</key>
<key name="AC01">
<symbol label="4">4</symbol>
</key>
<key name="AC02">
<symbol label="5">5</symbol>
</key>
<key name="AC03">
<symbol label="6">6</symbol>
</key>
<key name="AC04">
<symbol label="#">numbersign</symbol>
</key>
<key name="AC05">
<symbol label="*">asterisk</symbol>
</key>
<key name="AB01">
<symbol label="7">7</symbol>
</key>
<key name="AB02">
<symbol label="8">8</symbol>
</key>
<key name="AB03">
<symbol label="9">9</symbol>
</key>
<key name="AB04">
<symbol label="+">plus</symbol>
</key>
<key name="AB05">
<symbol label="-">minus</symbol>
</key>
<key name="AB06">
<symbol label="0">0</symbol>
</key>
<key name="RTRN">
<symbol keyval="65293" icon="key-enter">Return</symbol>
</key>
<key name="SPCE">
<symbol label=" ">space</symbol>
</key>
<key name="BKSP">
<symbol keyval="65288" icon="edit-clear-symbolic">BackSpace</symbol>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter">1</text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter">2</text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter">3</text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter">4</text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter">5</text>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">6</text>
<text category="letter">^</text>
</key>
<key keycode="16" name="AE07">
<text category="letter">7</text>
<text category="letter">க்ஷ</text>
</key>
<key keycode="17" name="AE08">
<text category="letter">8</text>
<text category="letter">ஷ்ர</text>
</key>
<key keycode="18" name="AE09">
<text category="letter">9</text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter">0</text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<text category="letter">=</text>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter">y</text>
<text category="letter">Y</text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter">i</text>
<text category="letter">I</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">o</text>
<text category="letter">O</text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter">P</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">[</text>
<text category="letter">{</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">]</text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ி</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter">H</text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter">K</text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter">L</text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter">:</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter">x</text>
<text category="letter">X</text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter">M</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter">&gt;</text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

View File

@@ -0,0 +1,194 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter"></text>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<text category="letter">@</text>
</key>
<key keycode="12" name="AE03">
<text category="letter"></text>
<text category="letter">#</text>
</key>
<key keycode="13" name="AE04">
<text category="letter"></text>
<text category="letter">$</text>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<text category="letter">జ్ఞ</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter"></text>
<text category="letter">త్ర</text>
</key>
<key keycode="16" name="AE07">
<text category="letter"></text>
<text category="letter">క్ష</text>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<text category="letter">శ్ర</text>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<text category="letter">-</text>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="34" name="AD11">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="35" name="AD12">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="51" name="BKSL">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ి</text>
<text category="letter"></text>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter"></text>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<text category="letter"></text>
</key>
<key keycode="59" name="AB08">
<text category="letter">,</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<text category="letter">.</text>
<text category="letter">&gt;</text>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<text category="letter">?</text>
</key>
</symbols>

View File

@@ -0,0 +1,192 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="95">underscore</keysym>
<keysym keyval="37">percent</keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="3557">Thai_lakkhangyao</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="47">slash</keysym>
<keysym keyval="3569">Thai_leknung</keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="45">minus</keysym>
<keysym keyval="3570">Thai_leksong</keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="3520">Thai_phosamphao</keysym>
<keysym keyval="3571">Thai_leksam</keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="3510">Thai_thothung</keysym>
<keysym keyval="3572">Thai_leksi</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="3544">Thai_sarau</keysym>
<keysym keyval="3545">Thai_sarauu</keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="3542">Thai_saraue</keysym>
<keysym keyval="3551">Thai_baht</keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="3492">Thai_khokhwai</keysym>
<keysym keyval="3573">Thai_lekha</keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="3509">Thai_totao</keysym>
<keysym keyval="3574">Thai_lekhok</keysym>
</key>
<key keycode="19" name="AE10">
<keysym keyval="3496">Thai_chochan</keysym>
<keysym keyval="3575">Thai_lekchet</keysym>
</key>
<key keycode="20" name="AE11">
<keysym keyval="3490">Thai_khokhai</keysym>
<keysym keyval="3576">Thai_lekpaet</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="3498">Thai_chochang</keysym>
<keysym keyval="3577">Thai_lekkao</keysym>
</key>
<key keycode="24" name="AD01">
<keysym keyval="3558">Thai_maiyamok</keysym>
<keysym keyval="3568">Thai_leksun</keysym>
</key>
<key keycode="25" name="AD02">
<keysym keyval="3556">Thai_saraaimaimalai</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="26" name="AD03">
<keysym keyval="3539">Thai_saraam</keysym>
<keysym keyval="3502">Thai_dochada</keysym>
</key>
<key keycode="27" name="AD04">
<keysym keyval="3518">Thai_phophan</keysym>
<keysym keyval="3505">Thai_thonangmontho</keysym>
</key>
<key keycode="28" name="AD05">
<keysym keyval="3536">Thai_saraa</keysym>
<keysym keyval="3512">Thai_thothong</keysym>
</key>
<key keycode="29" name="AD06">
<keysym keyval="3537">Thai_maihanakat</keysym>
<keysym keyval="3565">Thai_nikhahit</keysym>
</key>
<key keycode="30" name="AD07">
<keysym keyval="3541">Thai_saraii</keysym>
<keysym keyval="3562">Thai_maitri</keysym>
</key>
<key keycode="31" name="AD08">
<keysym keyval="3523">Thai_rorua</keysym>
<keysym keyval="3507">Thai_nonen</keysym>
</key>
<key keycode="32" name="AD09">
<keysym keyval="3513">Thai_nonu</keysym>
<keysym keyval="3535">Thai_paiyannoi</keysym>
</key>
<key keycode="33" name="AD10">
<keysym keyval="3522">Thai_yoyak</keysym>
<keysym keyval="3501">Thai_yoying</keysym>
</key>
<key keycode="34" name="AD11">
<keysym keyval="3514">Thai_bobaimai</keysym>
<keysym keyval="3504">Thai_thothan</keysym>
</key>
<key keycode="35" name="AD12">
<keysym keyval="3525">Thai_loling</keysym>
<keysym keyval="44">comma</keysym>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="3491">Thai_khokhuat</keysym>
<keysym keyval="3493">Thai_khokhon</keysym>
</key>
<key keycode="38" name="AC01">
<keysym keyval="3519">Thai_fofan</keysym>
<keysym keyval="3524">Thai_ru</keysym>
</key>
<key keycode="39" name="AC02">
<keysym keyval="3531">Thai_hohip</keysym>
<keysym keyval="3494">Thai_khorakhang</keysym>
</key>
<key keycode="40" name="AC03">
<keysym keyval="3489">Thai_kokai</keysym>
<keysym keyval="3503">Thai_topatak</keysym>
</key>
<key keycode="41" name="AC04">
<keysym keyval="3508">Thai_dodek</keysym>
<keysym keyval="3554">Thai_sarao</keysym>
</key>
<key keycode="42" name="AC05">
<keysym keyval="3552">Thai_sarae</keysym>
<keysym keyval="3500">Thai_chochoe</keysym>
</key>
<key keycode="43" name="AC06">
<keysym keyval="3561">Thai_maitho</keysym>
<keysym keyval="3559">Thai_maitaikhu</keysym>
</key>
<key keycode="44" name="AC07">
<keysym keyval="3560">Thai_maiek</keysym>
<keysym keyval="3563">Thai_maichattawa</keysym>
</key>
<key keycode="45" name="AC08">
<keysym keyval="3538">Thai_saraaa</keysym>
<keysym keyval="3529">Thai_sorusi</keysym>
</key>
<key keycode="46" name="AC09">
<keysym keyval="3530">Thai_sosua</keysym>
<keysym keyval="3528">Thai_sosala</keysym>
</key>
<key keycode="47" name="AC10">
<keysym keyval="3527">Thai_wowaen</keysym>
<keysym keyval="3499">Thai_soso</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="3495">Thai_ngongu</keysym>
<keysym keyval="46">period</keysym>
</key>
<key keycode="52" name="AB01">
<keysym keyval="3516">Thai_phophung</keysym>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="53" name="AB02">
<keysym keyval="3515">Thai_popla</keysym>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="54" name="AB03">
<keysym keyval="3553">Thai_saraae</keysym>
<keysym keyval="3497">Thai_choching</keysym>
</key>
<key keycode="55" name="AB04">
<keysym keyval="3533">Thai_oang</keysym>
<keysym keyval="3534">Thai_honokhuk</keysym>
</key>
<key keycode="56" name="AB05">
<keysym keyval="3540">Thai_sarai</keysym>
<keysym keyval="3546">Thai_phinthu</keysym>
</key>
<key keycode="57" name="AB06">
<keysym keyval="3543">Thai_sarauee</keysym>
<keysym keyval="3564">Thai_thanthakhat</keysym>
</key>
<key keycode="58" name="AB07">
<keysym keyval="3511">Thai_thothahan</keysym>
<keysym keyval="63">question</keysym>
</key>
<key keycode="59" name="AB08">
<keysym keyval="3521">Thai_moma</keysym>
<keysym keyval="3506">Thai_thophuthao</keysym>
</key>
<key keycode="60" name="AB09">
<keysym keyval="3555">Thai_saraaimaimuan</keysym>
<keysym keyval="3532">Thai_lochula</keysym>
</key>
<key keycode="61" name="AB10">
<keysym keyval="3517">Thai_fofa</keysym>
<keysym keyval="3526">Thai_lu</keysym>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<text category="letter">Ґ</text>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<text category="letter">!</text>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<text category="letter">&quot;</text>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<text category="letter"></text>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<text category="letter">;</text>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<text category="letter">%</text>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<text category="letter">:</text>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<text category="letter">?</text>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<text category="letter">*</text>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<text category="letter">(</text>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<text category="letter">)</text>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<text category="letter">_</text>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<text category="letter">+</text>
</key>
<key keycode="24" name="AD01">
<text category="letter">й</text>
<text category="letter">Й</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ц</text>
<text category="letter">Ц</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">у</text>
<text category="letter">У</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">к</text>
<text category="letter">К</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">е</text>
<text category="letter">Е</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">н</text>
<text category="letter">Н</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">г</text>
<text category="letter">Г</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ш</text>
<text category="letter">Ш</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">щ</text>
<text category="letter">Щ</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">з</text>
<text category="letter">З</text>
</key>
<key keycode="34" name="AD11">
<text category="letter">х</text>
<text category="letter">Х</text>
</key>
<key keycode="35" name="AD12">
<text category="letter">ї</text>
<text category="letter">Ї</text>
</key>
<key keycode="51" name="BKSL">
<text category="letter">\</text>
<text category="letter">|</text>
</key>
<key keycode="38" name="AC01">
<text category="letter">ф</text>
<text category="letter">Ф</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">і</text>
<text category="letter">І</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">в</text>
<text category="letter">В</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">а</text>
<text category="letter">А</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">п</text>
<text category="letter">П</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">р</text>
<text category="letter">Р</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">о</text>
<text category="letter">О</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">л</text>
<text category="letter">Л</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">д</text>
<text category="letter">Д</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">ж</text>
<text category="letter">Ж</text>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<text category="letter">Є</text>
</key>
<key keycode="52" name="AB01">
<text category="letter">я</text>
<text category="letter">Я</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ч</text>
<text category="letter">Ч</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">с</text>
<text category="letter">С</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">м</text>
<text category="letter">М</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">и</text>
<text category="letter">И</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">т</text>
<text category="letter">Т</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">ь</text>
<text category="letter">Ь</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">б</text>
<text category="letter">Б</text>
</key>
<key keycode="60" name="AB09">
<text category="letter">ю</text>
<text category="letter">Ю</text>
</key>
<key keycode="61" name="AB10">
<text category="letter">.</text>
<text category="letter">,</text>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<keysym keyval="49">1</keysym>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<keysym keyval="50">2</keysym>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<keysym keyval="51">3</keysym>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<keysym keyval="52">4</keysym>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<keysym keyval="53">5</keysym>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<keysym keyval="54">6</keysym>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<keysym keyval="55">7</keysym>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<keysym keyval="56">8</keysym>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<keysym keyval="57">9</keysym>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<keysym keyval="48">0</keysym>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="20" name="AE11">
<keysym keyval="45">minus</keysym>
<text category="letter"></text>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter">چ</text>
<text category="letter">چ</text>
</key>
<key keycode="25" name="AD02">
<text category="letter">ۋ</text>
<text category="letter">ۋ</text>
</key>
<key keycode="26" name="AD03">
<text category="letter">ې</text>
<text category="letter">ې</text>
</key>
<key keycode="27" name="AD04">
<text category="letter">ر</text>
<text category="letter">ر</text>
</key>
<key keycode="28" name="AD05">
<text category="letter">ت</text>
<text category="letter">ت</text>
</key>
<key keycode="29" name="AD06">
<text category="letter">ي</text>
<text category="letter">ي</text>
</key>
<key keycode="30" name="AD07">
<text category="letter">ۇ</text>
<text category="letter">ۇ</text>
</key>
<key keycode="31" name="AD08">
<text category="letter">ڭ</text>
<text category="letter">ڭ</text>
</key>
<key keycode="32" name="AD09">
<text category="letter">و</text>
<text category="letter">و</text>
</key>
<key keycode="33" name="AD10">
<text category="letter">پ</text>
<text category="letter">پ</text>
</key>
<key keycode="34" name="AD11">
<keysym keyval="91">bracketleft</keysym>
<text category="letter">«</text>
</key>
<key keycode="35" name="AD12">
<keysym keyval="93">bracketright</keysym>
<text category="letter">»</text>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter">ھ</text>
<text category="letter">ھ</text>
</key>
<key keycode="39" name="AC02">
<text category="letter">س</text>
<text category="letter">س</text>
</key>
<key keycode="40" name="AC03">
<text category="letter">د</text>
<text category="letter">ژ</text>
</key>
<key keycode="41" name="AC04">
<text category="letter">ا</text>
<text category="letter">ف</text>
</key>
<key keycode="42" name="AC05">
<text category="letter">ە</text>
<text category="letter">گ</text>
</key>
<key keycode="43" name="AC06">
<text category="letter">ى</text>
<text category="letter">خ</text>
</key>
<key keycode="44" name="AC07">
<text category="letter">ق</text>
<text category="letter">ج</text>
</key>
<key keycode="45" name="AC08">
<text category="letter">ك</text>
<text category="letter">ۆ</text>
</key>
<key keycode="46" name="AC09">
<text category="letter">ل</text>
<text category="letter">ل</text>
</key>
<key keycode="47" name="AC10">
<text category="letter">؛</text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="52" name="AB01">
<text category="letter">ز</text>
<text category="letter">ز</text>
</key>
<key keycode="53" name="AB02">
<text category="letter">ش</text>
<text category="letter">ش</text>
</key>
<key keycode="54" name="AB03">
<text category="letter">غ</text>
<text category="letter">غ</text>
</key>
<key keycode="55" name="AB04">
<text category="letter">ۈ</text>
<text category="letter">ۈ</text>
</key>
<key keycode="56" name="AB05">
<text category="letter">ب</text>
<text category="letter">ب</text>
</key>
<key keycode="57" name="AB06">
<text category="letter">ن</text>
<text category="letter">ن</text>
</key>
<key keycode="58" name="AB07">
<text category="letter">م</text>
<text category="letter">م</text>
</key>
<key keycode="59" name="AB08">
<text category="letter">،</text>
<text category="letter"></text>
</key>
<key keycode="60" name="AB09">
<keysym keyval="46">period</keysym>
<text category="letter"></text>
</key>
<key keycode="61" name="AB10">
<text category="letter">ئ</text>
<text category="letter">؟</text>
</key>
</symbols>

View File

@@ -0,0 +1,194 @@
<?xml version='1.0' encoding='ASCII' standalone='yes'?>
<symbols version="0.90">
<key name="AD01">
<symbol label="q">q</symbol>
<symbol label="Q">Q</symbol>
<symbol label="1">1</symbol>
<symbol label="~">asciitilde</symbol>
</key>
<key name="AD02">
<symbol label="w">w</symbol>
<symbol label="W">W</symbol>
<symbol label="2">2</symbol>
<symbol label="`">quoteleft</symbol>
</key>
<key name="AD03">
<symbol label="e">e</symbol>
<symbol label="E">E</symbol>
<symbol label="3">3</symbol>
<symbol label="|">bar</symbol>
</key>
<key name="AD04">
<symbol label="r">r</symbol>
<symbol label="R">R</symbol>
<symbol label="4">4</symbol>
<symbol label="&#183;">U00B7</symbol>
</key>
<key name="AD05">
<symbol label="t">t</symbol>
<symbol label="T">T</symbol>
<symbol label="5">5</symbol>
<symbol label="&#8730;">squareroot</symbol>
</key>
<key name="AD06">
<symbol label="y">y</symbol>
<symbol label="Y">Y</symbol>
<symbol label="6">6</symbol>
<symbol label="&#960;">Greek_pi</symbol>
</key>
<key name="AD07">
<symbol label="u">u</symbol>
<symbol label="U">U</symbol>
<symbol label="7">7</symbol>
<symbol label="&#247;">division</symbol>
</key>
<key name="AD08">
<symbol label="i">i</symbol>
<symbol label="I">I</symbol>
<symbol label="8">8</symbol>
<symbol label="&#215;">multiply</symbol>
</key>
<key name="AD09">
<symbol label="o">o</symbol>
<symbol label="O">O</symbol>
<symbol label="9">9</symbol>
<symbol label="&#182;">paragraph</symbol>
</key>
<key name="AD10">
<symbol label="p">p</symbol>
<symbol label="P">P</symbol>
<symbol label="0">0</symbol>
<symbol label="&#9651;">U25B3</symbol>
</key>
<key name="AC01">
<symbol label="a">a</symbol>
<symbol label="A">A</symbol>
<symbol label="@">at</symbol>
<symbol label="&#169;">copyright</symbol>
</key>
<key name="AC02">
<symbol label="s">s</symbol>
<symbol label="S">S</symbol>
<symbol label="#">numbersign</symbol>
<symbol label="&#174;">U00AE</symbol>
</key>
<key name="AC03">
<symbol label="d">d</symbol>
<symbol label="D">D</symbol>
<symbol label="$">dollar</symbol>
<symbol label="&#163;">U00A3</symbol>
</key>
<key name="AC04">
<symbol label="f">f</symbol>
<symbol label="F">F</symbol>
<symbol label="%">percent</symbol>
<symbol label="&#8364;">EuroSign</symbol>
</key>
<key name="AC05">
<symbol label="g">g</symbol>
<symbol label="G">G</symbol>
<symbol label="&amp;">ampersand</symbol>
<symbol label="&#165;">U00A5</symbol>
</key>
<key name="AC06">
<symbol label="h">h</symbol>
<symbol label="H">H</symbol>
<symbol label="-">minus</symbol>
<symbol label="^">asciicircum</symbol>
</key>
<key name="AC07">
<symbol label="j">j</symbol>
<symbol label="J">J</symbol>
<symbol label="_">underscore</symbol>
<symbol label="&#176;">degree</symbol>
</key>
<key name="AC08">
<symbol label="k">k</symbol>
<symbol label="K">K</symbol>
<symbol label="+">plus</symbol>
<symbol label="=">equal</symbol>
</key>
<key name="AC09">
<symbol label="l">l</symbol>
<symbol label="L">L</symbol>
<symbol label="(">parenleft</symbol>
<symbol label="{">braceleft</symbol>
</key>
<key name="AC10">
<!-- Empty labels cause keys to be hidden when the level they are defined
for is shown. -->
<symbol label=""></symbol>
<symbol label=""></symbol>
<symbol label=")">parenright</symbol>
<symbol label="}">braceright</symbol>
</key>
<key name="RTRN">
<symbol keyval="65293" icon="key-enter">Return</symbol>
</key>
<key name="LFSH">
<keysym keyval="65505" icon="key-shift">Shift_L</keysym>
<keysym keyval="65505" icon="key-shift">Shift_L</keysym>
<keysym keyval="65505" label="=/+">Shift_L</keysym>
<keysym keyval="65505" label="123">Shift_L</keysym>
</key>
<key name="AB01">
<symbol label="z">z</symbol>
<symbol label="Z">Z</symbol>
<symbol label=",">comma</symbol>
<symbol label="\">backslash</symbol>
</key>
<key name="AB02">
<symbol label="x">x</symbol>
<symbol label="X">X</symbol>
<symbol label="&quot;">quotedbl</symbol>
<symbol label="/">slash</symbol>
</key>
<key name="AB03">
<symbol label="c">c</symbol>
<symbol label="C">C</symbol>
<symbol label="'">quoteright</symbol>
<symbol label="&lt;">less</symbol>
</key>
<key name="AB04">
<symbol label="v">v</symbol>
<symbol label="V">V</symbol>
<symbol label=":">colon</symbol>
<symbol label="&gt;">greater</symbol>
</key>
<key name="AB05">
<symbol label="b">b</symbol>
<symbol label="B">B</symbol>
<symbol label=";">semicolon</symbol>
<symbol label="=">equal</symbol>
</key>
<key name="AB06">
<symbol label="n">n</symbol>
<symbol label="N">N</symbol>
<symbol label="!">exclam</symbol>
<symbol label="[">bracketleft</symbol>
</key>
<key name="AB07">
<symbol label="m">m</symbol>
<symbol label="M">M</symbol>
<symbol label="?">question</symbol>
<symbol label="]">bracketright</symbol>
</key>
<key name="AB08">
<symbol label=".">period</symbol>
</key>
<key name="ABC123">
<symbol label="123">show-numbers</symbol>
<symbol label="123">show-numbers</symbol>
<symbol label="ABC">show-letters</symbol>
<symbol label="ABC">show-letters</symbol>
</key>
<key name="I149">
<symbol label="&#9786;" icon="keyboard-mode-symbolic" tooltip="Setup">preferences</symbol>
</key>
<key name="SPCE">
<symbol label=" ">space</symbol>
</key>
<key name="BKSP">
<symbol keyval="65288" icon="edit-clear-symbolic">BackSpace</symbol>
</key>
</symbols>

View File

@@ -0,0 +1,193 @@
<?xml version="1.0"?>
<symbols version="0.90">
<include>us</include>
<key keycode="49" name="TLDE">
<keysym keyval="96">quoteleft</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key keycode="10" name="AE01">
<text category="letter"></text>
<keysym keyval="33">exclam</keysym>
</key>
<key keycode="11" name="AE02">
<text category="letter"></text>
<keysym keyval="64">at</keysym>
</key>
<key keycode="12" name="AE03">
<text category="letter">ˇ</text>
<keysym keyval="35">numbersign</keysym>
</key>
<key keycode="13" name="AE04">
<text category="letter">ˋ</text>
<keysym keyval="36">dollar</keysym>
</key>
<key keycode="14" name="AE05">
<text category="letter"></text>
<keysym keyval="37">percent</keysym>
<keysym keyval="8364">EuroSign</keysym>
</key>
<key keycode="15" name="AE06">
<text category="letter">ˊ</text>
<keysym keyval="94">asciicircum</keysym>
</key>
<key keycode="16" name="AE07">
<text category="letter">˙</text>
<keysym keyval="38">ampersand</keysym>
</key>
<key keycode="17" name="AE08">
<text category="letter"></text>
<keysym keyval="42">asterisk</keysym>
</key>
<key keycode="18" name="AE09">
<text category="letter"></text>
<keysym keyval="40">parenleft</keysym>
</key>
<key keycode="19" name="AE10">
<text category="letter"></text>
<keysym keyval="41">parenright</keysym>
</key>
<key keycode="20" name="AE11">
<text category="letter"></text>
<keysym keyval="95">underscore</keysym>
</key>
<key keycode="21" name="AE12">
<keysym keyval="61">equal</keysym>
<keysym keyval="43">plus</keysym>
</key>
<key keycode="24" name="AD01">
<text category="letter"></text>
<keysym keyval="81">Q</keysym>
</key>
<key keycode="25" name="AD02">
<text category="letter"></text>
<keysym keyval="87">W</keysym>
</key>
<key keycode="26" name="AD03">
<text category="letter"></text>
<keysym keyval="69">E</keysym>
</key>
<key keycode="27" name="AD04">
<text category="letter"></text>
<keysym keyval="82">R</keysym>
</key>
<key keycode="28" name="AD05">
<text category="letter"></text>
<keysym keyval="84">T</keysym>
</key>
<key keycode="29" name="AD06">
<text category="letter"></text>
<keysym keyval="89">Y</keysym>
</key>
<key keycode="30" name="AD07">
<text category="letter"></text>
<keysym keyval="85">U</keysym>
</key>
<key keycode="31" name="AD08">
<text category="letter"></text>
<keysym keyval="73">I</keysym>
</key>
<key keycode="32" name="AD09">
<text category="letter"></text>
<keysym keyval="79">O</keysym>
</key>
<key keycode="33" name="AD10">
<text category="letter"></text>
<keysym keyval="80">P</keysym>
</key>
<key keycode="34" name="AD11">
<keysym keyval="91">bracketleft</keysym>
<keysym keyval="123">braceleft</keysym>
</key>
<key keycode="35" name="AD12">
<keysym keyval="93">bracketright</keysym>
<keysym keyval="125">braceright</keysym>
</key>
<key keycode="51" name="BKSL">
<keysym keyval="92">backslash</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key keycode="38" name="AC01">
<text category="letter"></text>
<keysym keyval="65">A</keysym>
</key>
<key keycode="39" name="AC02">
<text category="letter"></text>
<keysym keyval="83">S</keysym>
</key>
<key keycode="40" name="AC03">
<text category="letter"></text>
<keysym keyval="68">D</keysym>
</key>
<key keycode="41" name="AC04">
<text category="letter"></text>
<keysym keyval="70">F</keysym>
</key>
<key keycode="42" name="AC05">
<text category="letter"></text>
<keysym keyval="71">G</keysym>
</key>
<key keycode="43" name="AC06">
<text category="letter"></text>
<keysym keyval="72">H</keysym>
</key>
<key keycode="44" name="AC07">
<text category="letter"></text>
<keysym keyval="74">J</keysym>
</key>
<key keycode="45" name="AC08">
<text category="letter"></text>
<keysym keyval="75">K</keysym>
</key>
<key keycode="46" name="AC09">
<text category="letter"></text>
<keysym keyval="76">L</keysym>
</key>
<key keycode="47" name="AC10">
<text category="letter"></text>
<keysym keyval="58">colon</keysym>
</key>
<key keycode="48" name="AC11">
<keysym keyval="39">quoteright</keysym>
<keysym keyval="34">quotedbl</keysym>
</key>
<key keycode="52" name="AB01">
<text category="letter"></text>
<keysym keyval="90">Z</keysym>
</key>
<key keycode="53" name="AB02">
<text category="letter"></text>
<keysym keyval="88">X</keysym>
</key>
<key keycode="54" name="AB03">
<text category="letter"></text>
<keysym keyval="67">C</keysym>
</key>
<key keycode="55" name="AB04">
<text category="letter"></text>
<keysym keyval="86">V</keysym>
</key>
<key keycode="56" name="AB05">
<text category="letter"></text>
<keysym keyval="66">B</keysym>
</key>
<key keycode="57" name="AB06">
<text category="letter"></text>
<keysym keyval="78">N</keysym>
</key>
<key keycode="58" name="AB07">
<text category="letter"></text>
<keysym keyval="77">M</keysym>
</key>
<key keycode="59" name="AB08">
<text category="letter"></text>
<keysym keyval="60">less</keysym>
</key>
<key keycode="60" name="AB09">
<text category="letter"></text>
<keysym keyval="62">greater</keysym>
</key>
<key keycode="61" name="AB10">
<text category="letter"></text>
<keysym keyval="63">question</keysym>
</key>
</symbols>

19
data/meson.build Normal file
View File

@@ -0,0 +1,19 @@
gnome = import('gnome')
squeekboard_resources = gnome.compile_resources(
'squeekboard-resources',
'squeekboard.gresources.xml',
c_name: 'squeekboard',
)
desktop_file = 'sm.puri.Squeekboard.desktop'
i18n.merge_file('desktop',
input: desktop_file + '.in',
output: desktop_file,
po_dir: '../po',
install: true,
install_dir: join_paths(datadir, 'applications'),
type: 'desktop'
)

View File

@@ -0,0 +1,9 @@
[Desktop Entry]
Name=Squeekboard
GenericName=Squeekboard Virtual Keyboard
Comment=Virtual Keyboard
Exec=squeekboard
Icon=squeekboard
Terminal=false
Type=Application
Categories=GTK;Utility;

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/sm/puri/squeekboard">
<file compressed="true">style.css</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/geometry/compact.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/geometry/extended.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/geometry/number-keypad.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/keyboards.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ar.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/as-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/be.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/bn-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/fa.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/gu-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/he.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/hi-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ja-kana.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/kk.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/kn-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ks-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ks.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/mai-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ml-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/mr-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/my.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/nb.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/or-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/pa-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ru.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/sd-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ta-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/te-inscript.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/th.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ua.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ug.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/us.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/zh-bopomofo.xml</file>
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/special/number.xml</file>
<file>icons/key-enter.svg</file>
<file>icons/key-shift.svg</file>
<file>icons/keyboard-mode-symbolic.svg</file>
</gresource>
</gresources>

18
data/style.css Normal file
View File

@@ -0,0 +1,18 @@
.keyboard {
background-color: rgba(0, 0, 0, 255);
color: #ffffff;
font-family: cantarell, sans-serif;
}
.key {
color: #deddda;
background: #464448;
border-width: 0.5px;
border-color: #5e5c64;
border-radius: 2px;
}
.key:active {
background: #1c71d8;
border-color: #3584e4;
}

Some files were not shown because too many files have changed in this diff Show More