summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2011-07-21 15:08:09 +0100
committerdakkar <dakkar@thenautilus.net>2011-07-21 15:08:09 +0100
commit4815296ed4b1ae9dfd7923cc0fce939ef79db92e (patch)
tree338bac5e4b04c4a596639e333aefcc3376dfe615
parentfiles from Honeycomb 3.1 (diff)
downloadtf101-dvorak-keyboard-4815296ed4b1ae9dfd7923cc0fce939ef79db92e.tar.gz
tf101-dvorak-keyboard-4815296ed4b1ae9dfd7923cc0fce939ef79db92e.tar.bz2
tf101-dvorak-keyboard-4815296ed4b1ae9dfd7923cc0fce939ef79db92e.zip
pull from Prime 1.6
-rw-r--r--xt9/keychars/qwerty-sk_SK.kcm513
-rw-r--r--xt9/keychars/qwerty-th_TH.kcm403
-rw-r--r--xt9/keychars/qwerty-tr_TR.kcm14
-rw-r--r--xt9/keylayout/qwerty-sk_SK.kl86
-rw-r--r--xt9/keylayout/qwerty-th_TH.kl86
5 files changed, 1097 insertions, 5 deletions
diff --git a/xt9/keychars/qwerty-sk_SK.kcm b/xt9/keychars/qwerty-sk_SK.kcm
new file mode 100644
index 0000000..84d914c
--- /dev/null
+++ b/xt9/keychars/qwerty-sk_SK.kcm
@@ -0,0 +1,513 @@
+type FULL
+
+key GRAVE {
+ label, number: ';'
+ base: ';'
+ shift: '\u030a'
+ alt, ctrl, meta: none
+}
+
+key 1 {
+ label, number: '+'
+ base: '+'
+ shift: '1'
+ alt: '~'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 2 {
+ label, number: '\u013e'
+ base: '\u013e'
+ shift: '2'
+ alt: '\u030c'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 3 {
+ label, number: '\u0161'
+ base: '\u0161'
+ shift: '3'
+ alt: '\u0302'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 4 {
+ label, number: '\u010d'
+ base: '\u010d'
+ shift: '4'
+ alt: '\u0306'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 5 {
+ label, number: '\u0165'
+ base: '\u0165'
+ shift: '5'
+ alt: '\u030a'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 6 {
+ label, number: '\u017e'
+ base: '\u017e'
+ shift: '6'
+ alt: '\u0328'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 7 {
+ label, number: '\u00fd'
+ base: '\u00fd'
+ shift: '7'
+ alt: '\u0300'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 8 {
+ label, number: '\u00e1'
+ base: '\u00e1'
+ shift: '8'
+ alt: '\u0307'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 9 {
+ label, number: '\u00ed'
+ base: '\u00ed'
+ shift: '9'
+ alt: '\u0301'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key 0 {
+ label, number: '\u00e9'
+ base: '\u00e9'
+ shift: '0'
+ alt: '\u030b'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key MINUS {
+ label, number: '='
+ base: '='
+ shift: '%'
+ alt: '\u0308'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key EQUALS {
+ label, number: '\u0301'
+ base: '\u0301'
+ shift: '\u030c'
+ alt: '\u0327'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key TAB {
+ label, number: '\t'
+ base: '\t'
+ alt, ctrl, meta: none
+}
+
+key Q {
+ label: 'Q'
+ number: '7'
+ base: 'q'
+ shift, capslock: 'Q'
+ alt: '\\'
+ alt+shift: none
+ capslock+alt: '\\'
+ capslock+shift: 'q'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key W {
+ label: 'W'
+ number: '9'
+ base: 'w'
+ shift, capslock: 'W'
+ alt: '|'
+ alt+shift: none
+ capslock+alt: '|'
+ capslock+shift: 'w'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key E {
+ label: 'E'
+ number: '3'
+ base: 'e'
+ shift, capslock: 'E'
+ alt: '\u20ac'
+ alt+shift: none
+ capslock+alt: '\u20ac'
+ capslock+shift: 'e'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key R {
+ label: 'R'
+ number: '7'
+ base: 'r'
+ shift, capslock: 'R'
+ capslock+shift: 'r'
+ alt, ctrl, meta: none
+}
+
+key T {
+ label: 'T'
+ number: '8'
+ base: 't'
+ shift, capslock: 'T'
+ capslock+shift: 't'
+ alt, ctrl, meta: none
+}
+
+key Z {
+ label: 'Z'
+ number: '9'
+ base: 'z'
+ shift, capslock: 'Z'
+ capslock+shift: 'z'
+ alt, ctrl, meta: none
+}
+
+key U {
+ label: 'U'
+ number: '8'
+ base: 'u'
+ shift, capslock: 'U'
+ capslock+shift: 'u'
+ alt, ctrl, meta: none
+}
+
+key I {
+ label: 'I'
+ number: '4'
+ base: 'i'
+ shift, capslock: 'I'
+ capslock+shift: 'i'
+ alt, ctrl, meta: none
+}
+
+key O {
+ label: 'O'
+ number: '6'
+ base: 'o'
+ shift, capslock: 'O'
+ capslock+shift: 'o'
+ alt, ctrl, meta: none
+}
+
+key P {
+ label: 'P'
+ number: '7'
+ base: 'p'
+ shift, capslock: 'P'
+ alt: '\''
+ alt+shift: none
+ capslock+alt: '\''
+ capslock+shift: 'p'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key LEFT_BRACKET {
+ label, number: '\u00fa'
+ base: '\u00fa'
+ shift: '/'
+ alt: '\u00f7'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key RIGHT_BRACKET {
+ label, number: '\u00e4'
+ base: '\u00e4'
+ shift: '('
+ alt: '\u00d7'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key A {
+ label: 'A'
+ number: '2'
+ base: 'a'
+ shift, capslock: 'A'
+ capslock+shift: 'a'
+ alt, ctrl, meta: none
+}
+
+key S {
+ label: 'S'
+ number: '7'
+ base: 's'
+ shift, capslock: 'S'
+ alt: '\u0111'
+ alt+shift: none
+ capslock+alt: '\u0111'
+ capslock+shift: 's'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key D {
+ label: 'D'
+ number: '3'
+ base: 'd'
+ shift, capslock: 'D'
+ alt: '\u0110'
+ alt+shift: none
+ capslock+alt: '\u0110'
+ capslock+shift: 'd'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key F {
+ label: 'F'
+ number: '3'
+ base: 'f'
+ shift, capslock: 'F'
+ alt: '['
+ alt+shift: none
+ capslock+alt: '['
+ capslock+shift: 'f'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key G {
+ label: 'G'
+ number: '4'
+ base: 'g'
+ shift, capslock: 'G'
+ alt: ']'
+ alt+shift: none
+ capslock+alt: ']'
+ capslock+shift: 'g'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key H {
+ label: 'H'
+ number: '4'
+ base: 'h'
+ shift, capslock: 'H'
+ capslock+shift: 'h'
+ alt, ctrl, meta: none
+}
+
+key J {
+ label: 'J'
+ number: '5'
+ base: 'j'
+ shift, capslock: 'J'
+ capslock+shift: 'j'
+ alt, ctrl, meta: none
+}
+
+key K {
+ label: 'K'
+ number: '5'
+ base: 'k'
+ shift, capslock: 'K'
+ alt: '\u0142'
+ alt+shift: none
+ capslock+alt: '\u0142'
+ capslock+shift: 'k'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key L {
+ label: 'L'
+ number: '5'
+ base: 'l'
+ shift, capslock: 'L'
+ alt: '\u0141'
+ alt+shift: none
+ capslock+alt: '\u0141'
+ capslock+shift: 'l'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key SEMICOLON {
+ label, number: '\u00f4'
+ base: '\u00f4'
+ shift: '"'
+ alt: '$'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key APOSTROPHE {
+ label, number: '\u00a7'
+ base: '\u00a7'
+ shift: '!'
+ alt: '\u00df'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key BACKSLASH {
+ label, number: '\u0148'
+ base: '\u0148'
+ shift: ')'
+ alt: '\u00a4'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key ENTER {
+ label, number: '\n'
+ base: '\n'
+ alt, ctrl, meta: none
+}
+
+key EUROPE_2 {
+ label, number: '&'
+ base: '&'
+ shift: '*'
+ alt: '<'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key Y {
+ label: 'Y'
+ number: '9'
+ base: 'y'
+ shift, capslock: 'Y'
+ alt: '>'
+ alt+shift: none
+ capslock+alt: '>'
+ capslock+shift: 'y'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key X {
+ label: 'X'
+ number: '9'
+ base: 'x'
+ shift, capslock: 'X'
+ alt: '#'
+ alt+shift: none
+ capslock+alt: '#'
+ capslock+shift: 'x'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key C {
+ label: 'C'
+ number: '2'
+ base: 'c'
+ shift, capslock: 'C'
+ alt: '&'
+ alt+shift: none
+ capslock+alt: '&'
+ capslock+shift: 'c'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key V {
+ label: 'V'
+ number: '8'
+ base: 'v'
+ shift, capslock: 'V'
+ alt: '@'
+ alt+shift: none
+ capslock+alt: '@'
+ capslock+shift: 'v'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key B {
+ label: 'B'
+ number: '2'
+ base: 'b'
+ shift, capslock: 'B'
+ alt: '{'
+ alt+shift: none
+ capslock+alt: '{'
+ capslock+shift: 'b'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key N {
+ label: 'N'
+ number: '6'
+ base: 'n'
+ shift, capslock: 'N'
+ alt: '}'
+ alt+shift: none
+ capslock+alt: '}'
+ capslock+shift: 'n'
+ capslock+alt+shift: none
+ ctrl, meta: none
+}
+
+key M {
+ label: 'M'
+ number: '6'
+ base: 'm'
+ shift, capslock: 'M'
+ capslock+shift: 'm'
+ alt, ctrl, meta: none
+}
+
+key COMMA {
+ label, number: ','
+ base: ','
+ shift: '?'
+ alt: '<'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key PERIOD {
+ label, number: '.'
+ base: '.'
+ shift: ':'
+ alt: '>'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key SLASH {
+ label, number: '-'
+ base: '-'
+ shift: '_'
+ alt: '*'
+ alt+shift: none
+ ctrl, meta: none
+}
+
+key SPACE {
+ label, number: ' '
+ base: ' '
+ alt, ctrl, meta: none
+}
diff --git a/xt9/keychars/qwerty-th_TH.kcm b/xt9/keychars/qwerty-th_TH.kcm
new file mode 100644
index 0000000..cbab8ec
--- /dev/null
+++ b/xt9/keychars/qwerty-th_TH.kcm
@@ -0,0 +1,403 @@
+type FULL
+
+key GRAVE {
+ label, number: '_'
+ base: '_'
+ shift, capslock: '%'
+ capslock+shift: '_'
+ alt, ctrl, meta: none
+}
+
+key 1 {
+ label, number: '\u0e45'
+ base: '\u0e45'
+ shift, capslock: '+'
+ capslock+shift: '\u0e45'
+ alt, ctrl, meta: none
+}
+
+key 2 {
+ label, number: '/'
+ base: '/'
+ shift, capslock: '\u0e51'
+ capslock+shift: '/'
+ alt, ctrl, meta: none
+}
+
+key 3 {
+ label, number: '-'
+ base: '-'
+ shift, capslock: '\u0e52'
+ capslock+shift: '-'
+ alt, ctrl, meta: none
+}
+
+key 4 {
+ label, number: '\u0e20'
+ base: '\u0e20'
+ shift, capslock: '\u0e53'
+ capslock+shift: '\u0e20'
+ alt, ctrl, meta: none
+}
+
+key 5 {
+ label, number: '\u0e16'
+ base: '\u0e16'
+ shift, capslock: '\u0e54'
+ capslock+shift: '\u0e16'
+ alt, ctrl, meta: none
+}
+
+key 6 {
+ label, number: '\u0e38'
+ base: '\u0e38'
+ shift, capslock: '\u0e39'
+ capslock+shift: '\u0e38'
+ alt, ctrl, meta: none
+}
+
+key 7 {
+ label, number: '\u0e36'
+ base: '\u0e36'
+ shift, capslock: '\u0e3f'
+ capslock+shift: '\u0e36'
+ alt, ctrl, meta: none
+}
+
+key 8 {
+ label, number: '\u0e04'
+ base: '\u0e04'
+ shift, capslock: '\u0e55'
+ capslock+shift: '\u0e04'
+ alt, ctrl, meta: none
+}
+
+key 9 {
+ label, number: '\u0e15'
+ base: '\u0e15'
+ shift, capslock: '\u0e56'
+ capslock+shift: '\u0e15'
+ alt, ctrl, meta: none
+}
+
+key 0 {
+ label, number: '\u0e08'
+ base: '\u0e08'
+ shift, capslock: '\u0e57'
+ capslock+shift: '\u0e08'
+ alt, ctrl, meta: none
+}
+
+key MINUS {
+ label, number: '\u0e02'
+ base: '\u0e02'
+ shift, capslock: '\u0e58'
+ capslock+shift: '\u0e02'
+ alt, ctrl, meta: none
+}
+
+key EQUALS {
+ label, number: '\u0e0a'
+ base: '\u0e0a'
+ shift, capslock: '\u0e59'
+ capslock+shift: '\u0e0a'
+ alt, ctrl, meta: none
+}
+
+key TAB {
+ label, number: '\t'
+ base: '\t'
+ alt, ctrl, meta: none
+}
+
+key Q {
+ label, number: '\u0e46'
+ base: '\u0e46'
+ shift, capslock: '\u0e50'
+ capslock+shift: '\u0e46'
+ alt, ctrl, meta: none
+}
+
+key W {
+ label, number: '\u0e44'
+ base: '\u0e44'
+ shift, capslock: '"'
+ capslock+shift: '\u0e44'
+ alt, ctrl, meta: none
+}
+
+key E {
+ label, number: '\u0e33'
+ base: '\u0e33'
+ shift, capslock: '\u0e0e'
+ capslock+shift: '\u0e33'
+ alt, ctrl, meta: none
+}
+
+key R {
+ label, number: '\u0e1e'
+ base: '\u0e1e'
+ shift, capslock: '\u0e11'
+ capslock+shift: '\u0e1e'
+ alt, ctrl, meta: none
+}
+
+key T {
+ label, number: '\u0e30'
+ base: '\u0e30'
+ shift, capslock: '\u0e18'
+ capslock+shift: '\u0e30'
+ alt, ctrl, meta: none
+}
+
+key Y {
+ label, number: '\u0e31'
+ base: '\u0e31'
+ shift, capslock: '\u0e4d'
+ capslock+shift: '\u0e31'
+ alt, ctrl, meta: none
+}
+
+key U {
+ label, number: '\u0e35'
+ base: '\u0e35'
+ shift, capslock: '\u0e4a'
+ capslock+shift: '\u0e35'
+ alt, ctrl, meta: none
+}
+
+key I {
+ label, number: '\u0e23'
+ base: '\u0e23'
+ shift, capslock: '\u0e13'
+ capslock+shift: '\u0e23'
+ alt, ctrl, meta: none
+}
+
+key O {
+ label, number: '\u0e19'
+ base: '\u0e19'
+ shift, capslock: '\u0e2f'
+ capslock+shift: '\u0e19'
+ alt, ctrl, meta: none
+}
+
+key P {
+ label, number: '\u0e22'
+ base: '\u0e22'
+ shift, capslock: '\u0e0d'
+ capslock+shift: '\u0e22'
+ alt, ctrl, meta: none
+}
+
+key LEFT_BRACKET {
+ label, number: '\u0e1a'
+ base: '\u0e1a'
+ shift, capslock: '\u0e10'
+ capslock+shift: '\u0e1a'
+ alt, ctrl, meta: none
+}
+
+key RIGHT_BRACKET {
+ label, number: '\u0e25'
+ base: '\u0e25'
+ shift, capslock: ','
+ capslock+shift: '\u0e25'
+ alt, ctrl, meta: none
+}
+
+key BACKSLASH {
+ label, number: '\u0e03'
+ base: '\u0e03'
+ shift, capslock: '\u0e05'
+ capslock+shift: '\u0e03'
+ alt, ctrl, meta: none
+}
+
+key A {
+ label, number: '\u0e1f'
+ base: '\u0e1f'
+ shift, capslock: '\u0e24'
+ capslock+shift: '\u0e1f'
+ alt, ctrl, meta: none
+}
+
+key S {
+ label, number: '\u0e2b'
+ base: '\u0e2b'
+ shift, capslock: '\u0e06'
+ capslock+shift: '\u0e2b'
+ alt, ctrl, meta: none
+}
+
+key D {
+ label, number: '\u0e01'
+ base: '\u0e01'
+ shift, capslock: '\u0e0f'
+ capslock+shift: '\u0e01'
+ alt, ctrl, meta: none
+}
+
+key F {
+ label, number: '\u0e14'
+ base: '\u0e14'
+ shift, capslock: '\u0e42'
+ capslock+shift: '\u0e14'
+ alt, ctrl, meta: none
+}
+
+key G {
+ label, number: '\u0e40'
+ base: '\u0e40'
+ shift, capslock: '\u0e0c'
+ capslock+shift: '\u0e40'
+ alt, ctrl, meta: none
+}
+
+key H {
+ label, number: '\u0e49'
+ base: '\u0e49'
+ shift, capslock: '\u0e47'
+ capslock+shift: '\u0e49'
+ alt, ctrl, meta: none
+}
+
+key J {
+ label, number: '\u0e48'
+ base: '\u0e48'
+ shift, capslock: '\u0e4b'
+ capslock+shift: '\u0e48'
+ alt, ctrl, meta: none
+}
+
+key K {
+ label, number: '\u0e32'
+ base: '\u0e32'
+ shift, capslock: '\u0e29'
+ capslock+shift: '\u0e32'
+ alt, ctrl, meta: none
+}
+
+key L {
+ label, number: '\u0e2a'
+ base: '\u0e2a'
+ shift, capslock: '\u0e28'
+ capslock+shift: '\u0e2a'
+ alt, ctrl, meta: none
+}
+
+key SEMICOLON {
+ label, number: '\u0e27'
+ base: '\u0e27'
+ shift, capslock: '\u0e0b'
+ capslock+shift: '\u0e27'
+ alt, ctrl, meta: none
+}
+
+key APOSTROPHE {
+ label, number: '\u0e07'
+ base: '\u0e07'
+ shift, capslock: '.'
+ capslock+shift: '\u0e07'
+ alt, ctrl, meta: none
+}
+
+key ENTER {
+ label, number: '\n'
+ base: '\n'
+ capslock+shift: '\n'
+ alt, ctrl, meta: none
+}
+
+key Z {
+ label, number: '\u0e1c'
+ base: '\u0e1c'
+ shift, capslock: '('
+ capslock+shift: '\u0e1c'
+ alt, ctrl, meta: none
+}
+
+key X {
+ label, number: '\u0e1b'
+ base: '\u0e1b'
+ shift, capslock: ')'
+ capslock+shift: '\u0e1b'
+ alt, ctrl, meta: none
+}
+
+key C {
+ label, number: '\u0e41'
+ base: '\u0e41'
+ shift, capslock: '\u0e09'
+ capslock+shift: '\u0e41'
+ alt, ctrl, meta: none
+}
+
+key V {
+ label, number: '\u0e2d'
+ base: '\u0e2d'
+ shift, capslock: '\u0e2e'
+ capslock+shift: '\u0e2d'
+ alt, ctrl, meta: none
+}
+
+key B {
+ label, number: '\u0e34'
+ base: '\u0e34'
+ shift, capslock: '\u0e3a'
+ capslock+shift: '\u0e34'
+ alt, ctrl, meta: none
+}
+
+key N {
+ label, number: '\u0e37'
+ base: '\u0e37'
+ shift, capslock: '\u0e4c'
+ capslock+shift: '\u0e37'
+ alt, ctrl, meta: none
+}
+
+key M {
+ label, number: '\u0e17'
+ base: '\u0e17'
+ shift, capslock: '?'
+ capslock+shift: '\u0e17'
+ alt, ctrl, meta: none
+}
+
+key COMMA {
+ label, number: '\u0e21'
+ base: '\u0e21'
+ shift, capslock: '\u0e12'
+ capslock+shift: '\u0e21'
+ alt, ctrl, meta: none
+}
+
+key PERIOD {
+ label, number: '\u0e43'
+ base: '\u0e43'
+ shift, capslock: '\u0e2c'
+ capslock+shift: '\u0e43'
+ alt, ctrl, meta: none
+}
+
+key SLASH {
+ label, number: '\u0e1d'
+ base: '\u0e1d'
+ shift, capslock: '\u0e26'
+ capslock+shift: '\u0e1d'
+ alt, ctrl, meta: none
+}
+
+key SPACE {
+ label, number: ' '
+ base: ' '
+ alt, ctrl, meta: none
+}
+
+key EUROPE_2 {
+ label, number: '\\'
+ base: '\\'
+ shift: '|'
+ alt, ctrl, meta: none
+}
diff --git a/xt9/keychars/qwerty-tr_TR.kcm b/xt9/keychars/qwerty-tr_TR.kcm
index f017ca6..e66db65 100644
--- a/xt9/keychars/qwerty-tr_TR.kcm
+++ b/xt9/keychars/qwerty-tr_TR.kcm
@@ -193,12 +193,16 @@ key U {
}
key I {
- label: 'I'
+ label: '\u0049'
number: '4'
- base: 'i'
- shift, capslock: 'I'
- capslock+shift: 'i'
- alt, ctrl, meta: none
+ base: '\u0131'
+ shift, capslock: '\u0049'
+ alt: '\u0069'
+ alt+shift: '\u0130'
+ capslock+alt: '\u0130'
+ capslock+shift: '\u0131'
+ capslock+alt+shift: '\u0069'
+ ctrl, meta: none
}
key O {
diff --git a/xt9/keylayout/qwerty-sk_SK.kl b/xt9/keylayout/qwerty-sk_SK.kl
new file mode 100644
index 0000000..adc4d92
--- /dev/null
+++ b/xt9/keylayout/qwerty-sk_SK.kl
@@ -0,0 +1,86 @@
+key 41 GRAVE WAKE UNLOCK
+key 2 1 WAKE UNLOCK
+key 3 2 WAKE UNLOCK
+key 4 3 WAKE UNLOCK
+key 5 4 WAKE UNLOCK
+key 6 5 WAKE UNLOCK
+key 7 6 WAKE UNLOCK
+key 8 7 WAKE UNLOCK
+key 9 8 WAKE UNLOCK
+key 10 9 WAKE UNLOCK
+key 11 0 WAKE UNLOCK
+key 12 MINUS WAKE UNLOCK
+key 13 EQUALS WAKE UNLOCK
+key 14 DEL WAKE UNLOCK
+key 15 TAB WAKE UNLOCK
+key 16 Q WAKE UNLOCK
+key 17 W WAKE UNLOCK
+key 18 E WAKE UNLOCK
+key 19 R WAKE UNLOCK
+key 20 T WAKE UNLOCK
+key 21 Z WAKE UNLOCK
+key 22 U WAKE UNLOCK
+key 23 I WAKE UNLOCK
+key 24 O WAKE UNLOCK
+key 25 P WAKE UNLOCK
+key 26 LEFT_BRACKET WAKE UNLOCK
+key 27 RIGHT_BRACKET WAKE UNLOCK
+key 58 CAPS_LOCK WAKE UNLOCK
+key 30 A WAKE UNLOCK
+key 31 S WAKE UNLOCK
+key 32 D WAKE UNLOCK
+key 33 F WAKE UNLOCK
+key 34 G WAKE UNLOCK
+key 35 H WAKE UNLOCK
+key 36 J WAKE UNLOCK
+key 37 K WAKE UNLOCK
+key 38 L WAKE UNLOCK
+key 39 SEMICOLON WAKE UNLOCK
+key 40 APOSTROPHE WAKE UNLOCK
+key 43 BACKSLASH WAKE UNLOCK
+key 28 ENTER WAKE UNLOCK
+key 42 SHIFT_LEFT WAKE UNLOCK
+key 86 EUROPE_2 WAKE UNLOCK
+key 44 Y WAKE UNLOCK
+key 45 X WAKE UNLOCK
+key 46 C WAKE UNLOCK
+key 47 V WAKE UNLOCK
+key 48 B WAKE UNLOCK
+key 49 N WAKE UNLOCK
+key 50 M WAKE UNLOCK
+key 51 COMMA WAKE UNLOCK
+key 52 PERIOD WAKE UNLOCK
+key 53 SLASH WAKE UNLOCK
+key 54 SHIFT_RIGHT WAKE UNLOCK
+key 29 CTRL_LEFT WAKE UNLOCK
+key 217 SEARCH WAKE UNLOCK
+key 57 SPACE WAKE UNLOCK
+key 100 ALT_RIGHT WAKE UNLOCK
+key 97 CTRL_RIGHT WAKE UNLOCK
+key 115 VOLUME_UP WAKE UNLOCK
+key 142 SLEEP WAKE UNLOCK
+key 105 DPAD_LEFT WAKE UNLOCK
+key 103 DPAD_UP WAKE UNLOCK
+key 108 DPAD_DOWN WAKE UNLOCK
+key 106 DPAD_RIGHT WAKE UNLOCK
+key 158 BACK WAKE UNLOCK
+key 238 WIRELESS WAKE UNLOCK
+key 237 BLUETOOTH WAKE UNLOCK
+key 60 TOUCHPAD WAKE UNLOCK
+key 224 BRIGHTNESS_DOWN WAKE UNLOCK
+key 225 BRIGHTNESS_UP WAKE UNLOCK
+key 61 BRIGHTNESS_AUTO WAKE UNLOCK
+key 212 CAPTURE WAKE UNLOCK
+key 150 EXPLORER WAKE UNLOCK
+key 62 SETTINGS WAKE UNLOCK
+key 165 MEDIA_PREVIOUS WAKE UNLOCK
+key 164 MEDIA_PLAY_PAUSE WAKE UNLOCK
+key 163 MEDIA_NEXT WAKE UNLOCK
+key 114 VOLUME_DOWN WAKE UNLOCK
+key 113 VOLUME_MUTE WAKE UNLOCK
+key 172 HOME WAKE UNLOCK
+key 139 MENU WAKE UNLOCK
+key 104 PAGE_UP WAKE UNLOCK
+key 109 PAGE_DOWN WAKE UNLOCK
+key 107 MOVE_END WAKE UNLOCK
+key 102 MOVE_HOME WAKE UNLOCK
diff --git a/xt9/keylayout/qwerty-th_TH.kl b/xt9/keylayout/qwerty-th_TH.kl
new file mode 100644
index 0000000..2d7e164
--- /dev/null
+++ b/xt9/keylayout/qwerty-th_TH.kl
@@ -0,0 +1,86 @@
+key 41 GRAVE WAKE UNLOCK
+key 2 1 WAKE UNLOCK
+key 3 2 WAKE UNLOCK
+key 4 3 WAKE UNLOCK
+key 5 4 WAKE UNLOCK
+key 6 5 WAKE UNLOCK
+key 7 6 WAKE UNLOCK
+key 8 7 WAKE UNLOCK
+key 9 8 WAKE UNLOCK
+key 10 9 WAKE UNLOCK
+key 11 0 WAKE UNLOCK
+key 12 MINUS WAKE UNLOCK
+key 13 EQUALS WAKE UNLOCK
+key 14 DEL WAKE UNLOCK
+key 15 TAB WAKE UNLOCK
+key 16 Q WAKE UNLOCK
+key 17 W WAKE UNLOCK
+key 18 E WAKE UNLOCK
+key 19 R WAKE UNLOCK
+key 20 T WAKE UNLOCK
+key 21 Y WAKE UNLOCK
+key 22 U WAKE UNLOCK
+key 23 I WAKE UNLOCK
+key 24 O WAKE UNLOCK
+key 25 P WAKE UNLOCK
+key 26 LEFT_BRACKET WAKE UNLOCK
+key 27 RIGHT_BRACKET WAKE UNLOCK
+key 43 BACKSLASH WAKE UNLOCK
+key 58 CAPS_LOCK WAKE UNLOCK
+key 30 A WAKE UNLOCK
+key 31 S WAKE UNLOCK
+key 32 D WAKE UNLOCK
+key 33 F WAKE UNLOCK
+key 34 G WAKE UNLOCK
+key 35 H WAKE UNLOCK
+key 36 J WAKE UNLOCK
+key 37 K WAKE UNLOCK
+key 38 L WAKE UNLOCK
+key 39 SEMICOLON WAKE UNLOCK
+key 40 APOSTROPHE WAKE UNLOCK
+key 28 ENTER WAKE UNLOCK
+key 42 SHIFT_LEFT WAKE UNLOCK
+key 44 Z WAKE UNLOCK
+key 45 X WAKE UNLOCK
+key 46 C WAKE UNLOCK
+key 47 V WAKE UNLOCK
+key 48 B WAKE UNLOCK
+key 49 N WAKE UNLOCK
+key 50 M WAKE UNLOCK
+key 51 COMMA WAKE UNLOCK
+key 52 PERIOD WAKE UNLOCK
+key 53 SLASH WAKE UNLOCK
+key 54 SHIFT_RIGHT WAKE UNLOCK
+key 29 CTRL_LEFT WAKE UNLOCK
+key 217 SEARCH WAKE UNLOCK
+key 57 SPACE WAKE UNLOCK
+key 100 ALT_RIGHT WAKE UNLOCK
+key 97 CTRL_RIGHT WAKE UNLOCK
+key 115 VOLUME_UP WAKE UNLOCK
+key 142 SLEEP WAKE UNLOCK
+key 105 DPAD_LEFT WAKE UNLOCK
+key 103 DPAD_UP WAKE UNLOCK
+key 108 DPAD_DOWN WAKE UNLOCK
+key 106 DPAD_RIGHT WAKE UNLOCK
+key 158 BACK WAKE UNLOCK
+key 238 WIRELESS WAKE UNLOCK
+key 237 BLUETOOTH WAKE UNLOCK
+key 60 TOUCHPAD WAKE UNLOCK
+key 224 BRIGHTNESS_DOWN WAKE UNLOCK
+key 225 BRIGHTNESS_UP WAKE UNLOCK
+key 61 BRIGHTNESS_AUTO WAKE UNLOCK
+key 212 CAPTURE WAKE UNLOCK
+key 150 EXPLORER WAKE UNLOCK
+key 62 SETTINGS WAKE UNLOCK
+key 165 MEDIA_PREVIOUS WAKE UNLOCK
+key 164 MEDIA_PLAY_PAUSE WAKE UNLOCK
+key 163 MEDIA_NEXT WAKE UNLOCK
+key 114 VOLUME_DOWN WAKE UNLOCK
+key 113 VOLUME_MUTE WAKE UNLOCK
+key 172 HOME WAKE UNLOCK
+key 139 MENU WAKE UNLOCK
+key 104 PAGE_UP WAKE UNLOCK
+key 109 PAGE_DOWN WAKE UNLOCK
+key 107 MOVE_END WAKE UNLOCK
+key 102 MOVE_HOME WAKE UNLOCK
+key 86 EUROPE_2 WAKE UNLOCK