Compare commits

..

504 Commits

Author SHA1 Message Date
David Boddie
901ca9ec76 Remove explicit keycodes in XML, auto-generate them instead
This makes it easier to keep the geometry and symbols files in sync.
2019-07-14 00:16:32 +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
233 changed files with 21275 additions and 14958 deletions

74
.gitignore vendored
View File

@@ -1,74 +0,0 @@
*.la
*.lo
*.loT
*.o
*.so
*~
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

17
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,17 @@
image: debian:buster
stages:
- build
before_script:
- apt-get -y update
- apt-get -y build-dep .
build_meson:
stage: build
tags:
- librem5
script:
- meson . _build/ -Ddepdatadir=/usr/share
- ninja -C _build install

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

@@ -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/eekboard.git
$ cd eekboard
$ 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
```

View File

@@ -7,17 +7,12 @@ test -z "$srcdir" && srcdir=.
PKG_NAME="eekboard"
(test -f $srcdir/configure.ac \
&& test -f $srcdir/README ) || {
&& test -f $srcdir/README.md ) || {
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

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="24" width="24"
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="24" width="24"
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,119 @@
<?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" />
</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" />
</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 name="ABC123" oref="altline" />
<key name="I150" 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.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="150.5853" y="0.000000"/>
<point x="150.5853" y="52.44877"/>
<point x="0.000000" y="52.44877"/>
</outline>
</geometry>

View File

@@ -0,0 +1,88 @@
<?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="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"/>
</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,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,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,180 @@
<?xml version="1.0"?>
<symbols version="0.90">
<key name="AD01">
<keysym keyval="113">q</keysym>
<keysym keyval="81">Q</keysym>
<keysym keyval="49">1</keysym>
<keysym keyval="126">asciitilde</keysym>
</key>
<key name="AD02">
<keysym keyval="119">w</keysym>
<keysym keyval="87">W</keysym>
<keysym keyval="50">2</keysym>
<keysym keyval="96">quoteleft</keysym>
</key>
<key name="AD03">
<keysym keyval="101">e</keysym>
<keysym keyval="69">E</keysym>
<keysym keyval="51">3</keysym>
<keysym keyval="124">bar</keysym>
</key>
<key name="AD04">
<keysym keyval="114">r</keysym>
<keysym keyval="82">R</keysym>
<keysym keyval="52">4</keysym>
<keysym keyval="183">middledot</keysym>
</key>
<key name="AD05">
<keysym keyval="116">t</keysym>
<keysym keyval="84">T</keysym>
<keysym keyval="53">5</keysym>
</key>
<key name="AD06">
<keysym keyval="121">y</keysym>
<keysym keyval="89">Y</keysym>
<keysym keyval="54">6</keysym>
</key>
<key name="AD07">
<keysym keyval="117">u</keysym>
<keysym keyval="85">U</keysym>
<keysym keyval="55">7</keysym>
</key>
<key name="AD08">
<keysym keyval="105">i</keysym>
<keysym keyval="73">I</keysym>
<keysym keyval="56">8</keysym>
</key>
<key name="AD09">
<keysym keyval="111">o</keysym>
<keysym keyval="79">O</keysym>
<keysym keyval="57">9</keysym>
</key>
<key name="AD10">
<keysym keyval="112">p</keysym>
<keysym keyval="80">P</keysym>
<keysym keyval="48">0</keysym>
</key>
<key name="AC01">
<keysym keyval="97">a</keysym>
<keysym keyval="65">A</keysym>
<keysym keyval="64">at</keysym>
<keysym keyval="169">copyright</keysym>
</key>
<key name="AC02">
<keysym keyval="115">s</keysym>
<keysym keyval="83">S</keysym>
<keysym keyval="35">numbersign</keysym>
<keysym keyval="174">registeredtrademark</keysym>
</key>
<key name="AC03">
<keysym keyval="100">d</keysym>
<keysym keyval="68">D</keysym>
<keysym keyval="36">dollar</keysym>
<keysym keyval="163">poundsign</keysym>
</key>
<key name="AC04">
<keysym keyval="102">f</keysym>
<keysym keyval="70">F</keysym>
<keysym keyval="37">percent</keysym>
<text></text>
</key>
<key name="AC05">
<keysym keyval="103">g</keysym>
<keysym keyval="71">G</keysym>
<keysym keyval="38">ampersand</keysym>
<keysym keyval="165">yensign</keysym>
</key>
<key name="AC06">
<keysym keyval="104">h</keysym>
<keysym keyval="72">H</keysym>
<keysym keyval="45">minus</keysym>
<keysym keyval="94">asciicircum</keysym>
</key>
<key name="AC07">
<keysym keyval="106">j</keysym>
<keysym keyval="74">J</keysym>
<keysym keyval="43">plus</keysym>
<keysym keyval="176">degreesign</keysym>
</key>
<key name="AC08">
<keysym keyval="107">k</keysym>
<keysym keyval="75">K</keysym>
<keysym keyval="40">parenleft</keysym>
<keysym keyval="123">braceleft</keysym>
</key>
<key name="AC09">
<keysym keyval="108">l</keysym>
<keysym keyval="76">L</keysym>
<keysym keyval="41">parenright</keysym>
<keysym keyval="125">braceright</keysym>
</key>
<key name="RTRN">
<keysym keyval="65293" icon="key-enter">Return</keysym>
</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">
<keysym keyval="122">z</keysym>
<keysym keyval="90">Z</keysym>
<keysym keyval="44">comma</keysym>
<keysym keyval="92">backslash</keysym>
</key>
<key name="AB02">
<keysym keyval="120">x</keysym>
<keysym keyval="88">X</keysym>
<keysym keyval="34">quotedbl</keysym>
<keysym keyval="47">slash</keysym>
</key>
<key name="AB03">
<keysym keyval="99">c</keysym>
<keysym keyval="67">C</keysym>
<keysym keyval="39">quoteright</keysym>
<keysym keyval="60">less</keysym>
</key>
<key name="AB04">
<keysym keyval="118">v</keysym>
<keysym keyval="86">V</keysym>
<keysym keyval="58">colon</keysym>
<keysym keyval="62">greater</keysym>
</key>
<key name="AB05">
<keysym keyval="98">b</keysym>
<keysym keyval="66">B</keysym>
<keysym keyval="59">semicolon</keysym>
<keysym keyval="61">equal</keysym>
</key>
<key name="AB06">
<keysym keyval="110">n</keysym>
<keysym keyval="78">N</keysym>
<keysym keyval="33">exclam</keysym>
<keysym keyval="91">bracketleft</keysym>
</key>
<key name="AB07">
<keysym keyval="109">m</keysym>
<keysym keyval="77">M</keysym>
<keysym keyval="63">question</keysym>
<keysym keyval="93">bracketright</keysym>
</key>
<key name="AB08">
<keysym keyval="46">period</keysym>
</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="I150">
<symbol label="☺" icon="keyboard-mode-symbolic" tooltip="Setup">preferences</symbol>
</key>
<key name="SPCE">
<keysym keyval="32">space</keysym>
</key>
<key name="BKSP">
<keysym keyval="65288" icon="edit-clear-symbolic">backspace</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>
<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,39 @@
<?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/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/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>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;
}

11
debian/changelog vendored Normal file
View File

@@ -0,0 +1,11 @@
squeekboard (1.0.10) unstable; urgency=medium
* Use a shared DBus definition
-- Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Tue, 02 Jul 2019 20:12:02 +0000
squeekboard (1.0.9) unstable; urgency=medium
* Initial release.
-- David Boddie <david.boddie@puri.sm> Tue, 25 Jun 2019 19:33:00 +0200

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
10

24
debian/control vendored Normal file
View File

@@ -0,0 +1,24 @@
Source: squeekboard
Section: x11
Priority: optional
Maintainer: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
Build-Depends:
debhelper (>= 10),
meson (>=0.43.0),
pkg-config,
libglib2.0-dev,
libgtk-3-dev,
libcroco3-dev,
libwayland-dev (>= 1.16),
rustc,
wayland-protocols (>= 1.14)
Standards-Version: 4.1.3
Homepage: https://source.puri.sm/Librem5/squeekboard
Package: squeekboard
Architecture: linux-any
Depends:
${shlibs:Depends}
${misc:Depends}
Description: On-screen keyboard for Wayland
Virtual keyboard supporting Wayland, built primarily for the Librem 5 phone.

73
debian/copyright vendored Normal file
View File

@@ -0,0 +1,73 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: evscript
Source: https://source.puri.sm/david.boddie/evscript
Files: *
Copyright: 2010-2011 Daiki Ueno <ueno@unixuser.org>
2010-2011 Red Hat, Inc.
2019 Purism SPC
License: GPL-3+
Files: eek/layersurface.c
src/wayland.c
src/key-emitter.c
meson.build
src/meson.build
po/meson.build
Copyright: 2018-2019 Purism SPC
License: GPL-3+
Files: eekboard/keymap.c
Copyright: 2000 Red Hat, Inc.
2019 Purism, SPC
License: LGPL-2+
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, see <http://www.gnu.org/licenses/>.
Files: protocols/wlr-layer-shell-unstable-v1.xml
Copytight: Copyright © 2017 Drew DeVault
License: X11
Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, provided
that the above copyright notice appear in all copies and fthat both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the copyright holders not be used in
advertising or publicity pertaining to distribution of the software
without specific, written prior permission. The copyright holders make
no representations about the suitability of this software for any
purpose. It is provided "as is" without express or implied warranty.
.
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
License: GPL-3+
This package 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 package 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 <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

8
debian/rules vendored Executable file
View File

@@ -0,0 +1,8 @@
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@ --builddirectory=_build --buildsystem=meson
override_dh_autoreconf:

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (native)

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