summaryrefslogtreecommitdiff
path: root/packages/InputDevices
diff options
context:
space:
mode:
authorChris Ye <lzye@google.com>2020-06-09 15:03:23 -0700
committerChris Ye <lzye@google.com>2020-09-01 22:08:30 -0700
commite7b4e235a48086c38122d2d7ed1ff43322c8d30b (patch)
tree066e129d28fb4da10eabd9f6279b28f695756766 /packages/InputDevices
parentbe8054963efcbcb65160b2de55cc4af3f7f3f91f (diff)
Add Georgian keyboard layout support
Add keyboard layout support for entering Georgian text. This will be used for connecting a physical keyboard and typing in Georgian. Bug: 141126644 Test: connect USB/Bluetooth keyboard and choose "Georgian" keyboard layout, start typing in a input window. Change-Id: I9e0ff70fea1e3b4301b310d42a053da30c767508 Merged-In: I9e0ff70fea1e3b4301b310d42a053da30c767508
Diffstat (limited to 'packages/InputDevices')
-rw-r--r--packages/InputDevices/res/raw/keyboard_layout_georgian.kcm383
-rw-r--r--packages/InputDevices/res/values/strings.xml3
-rw-r--r--packages/InputDevices/res/xml/keyboard_layouts.xml4
3 files changed, 390 insertions, 0 deletions
diff --git a/packages/InputDevices/res/raw/keyboard_layout_georgian.kcm b/packages/InputDevices/res/raw/keyboard_layout_georgian.kcm
new file mode 100644
index 000000000000..35b66a37336b
--- /dev/null
+++ b/packages/InputDevices/res/raw/keyboard_layout_georgian.kcm
@@ -0,0 +1,383 @@
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Georgian QWERTY keyboard layout.
+# This is a typical Georgian PC keyboard layout.
+# As an added convenience, English characters are accessible using ralt (Alt Gr).
+#
+
+type OVERLAY
+
+map key 86 BACKSLASH
+
+### ROW 1
+
+key GRAVE {
+ label: '\u201e'
+ base: '\u201e'
+ shift, capslock: '\u201c'
+ ralt: '`'
+ ralt+shift: '~'
+}
+
+key 1 {
+ label: '1'
+ base: '1'
+ shift: '!'
+ ralt: '!'
+}
+
+key 2 {
+ label: '2'
+ base: '2'
+ shift: '@'
+ ralt: '@'
+ ralt+shift: '\u201e'
+}
+
+key 3 {
+ label: '3'
+ base: '3'
+ shift: '#'
+ ralt: '#'
+ ralt+shift: '\u201c'
+}
+
+key 4 {
+ label: '4'
+ base: '4'
+ shift: '$'
+ ralt: '$'
+}
+
+key 5 {
+ label: '5'
+ base: '5'
+ shift: '%'
+ ralt: '%'
+ ralt+shift: '\u20ac'
+}
+
+key 6 {
+ label: '6'
+ base: '6'
+ shift: '^'
+ ralt: '^'
+}
+
+key 7 {
+ label: '7'
+ base: '7'
+ shift: '&'
+ ralt: '&'
+}
+
+key 8 {
+ label: '8'
+ base: '8'
+ shift: '*'
+ ralt: '*'
+ ralt+shift: '\u00b0'
+}
+
+key 9 {
+ label: '9'
+ base: '9'
+ shift: '('
+ ralt: '('
+}
+
+key 0 {
+ label: '0'
+ base: '0'
+ shift: ')'
+ ralt: ')'
+}
+
+key MINUS {
+ label: '-'
+ base: '-'
+ shift: '_'
+ ralt: '_'
+ ralt+shift: '\u2014'
+}
+
+key EQUALS {
+ label: '='
+ base: '='
+ shift: '+'
+ ralt: '+'
+ ralt+shift: '\u2013'
+}
+
+### ROW 2
+
+key Q {
+ label: '\u10e5'
+ base: '\u10e5'
+ ralt: 'q'
+ ralt+shift, ralt+capslock: 'Q'
+}
+
+key W {
+ label: '\u10ec'
+ base: '\u10ec'
+ shift, capslock: '\u10ed'
+ ralt: 'w'
+ ralt+shift, ralt+capslock: 'W'
+}
+
+key E {
+ label: '\u10d4'
+ base: '\u10d4'
+ ralt: 'e'
+ ralt+shift, ralt+capslock: 'E'
+}
+
+key R {
+ label: '\u10e0'
+ base: '\u10e0'
+ shift, capslock: '\u10e6'
+ ralt: 'r'
+ ralt+shift, ralt+capslock: 'R'
+}
+
+key T {
+ label: '\u10e2'
+ base: '\u10e2'
+ shift, capslock: '\u10d7'
+ ralt: 't'
+ ralt+shift, ralt+capslock: 'T'
+}
+
+key Y {
+ label: '\u10e7'
+ base: '\u10e7'
+ ralt: 'y'
+ ralt+shift, ralt+capslock: 'Y'
+}
+
+key U {
+ label: '\u10e3'
+ base: '\u10e3'
+ ralt: 'u'
+ ralt+shift, ralt+capslock: 'U'
+}
+
+key I {
+ label: '\u10d8'
+ base: '\u10d8'
+ ralt: 'i'
+ ralt+shift, ralt+capslock: 'I'
+}
+
+key O {
+ label: '\u10dd'
+ base: '\u10dd'
+ ralt: 'o'
+ ralt+shift, ralt+capslock: 'O'
+}
+
+key P {
+ label: '\u10de'
+ base: '\u10de'
+ ralt: 'p'
+ ralt+shift, ralt+capslock: 'P'
+}
+
+key LEFT_BRACKET {
+ label: '['
+ base: '['
+ shift, capslock: '{'
+ ralt: '['
+ ralt+shift: '{'
+}
+
+key RIGHT_BRACKET {
+ label: ']'
+ base: ']'
+ shift, capslock: '}'
+ ralt: ']'
+ ralt+shift: '}'
+}
+
+key BACKSLASH {
+ label: '~'
+ base: '~'
+ shift: '|'
+ ralt: '\\'
+ ralt+shift: '|'
+}
+
+### ROW 3
+
+key A {
+ label: '\u10d0'
+ base: '\u10d0'
+ ralt: 'a'
+ ralt+shift, ralt+capslock: 'A'
+}
+
+key S {
+ label: '\u10e1'
+ base: '\u10e1'
+ shift, capslock: '\u10e8'
+ ralt: 's'
+ ralt+shift, ralt+capslock: 'S'
+}
+
+key D {
+ label: '\u10d3'
+ base: '\u10d3'
+ ralt: 'd'
+ ralt+shift, ralt+capslock: 'D'
+}
+
+key F {
+ label: '\u10e4'
+ base: '\u10e4'
+ ralt: 'f'
+ ralt+shift, ralt+capslock: 'F'
+}
+
+key G {
+ label: '\u10d2'
+ base: '\u10d2'
+ ralt: 'g'
+ ralt+shift, ralt+capslock: 'G'
+}
+
+key H {
+ label: '\u10f0'
+ base: '\u10f0'
+ ralt: 'h'
+ ralt+shift, ralt+capslock: 'H'
+}
+
+key J {
+ label: '\u10ef'
+ base: '\u10ef'
+ shift, capslock: '\u10df'
+ ralt: 'j'
+ ralt+shift, ralt+capslock: 'J'
+}
+
+key K {
+ label: '\u10d9'
+ base: '\u10d9'
+ ralt: 'k'
+ ralt+shift, ralt+capslock: 'K'
+}
+
+key L {
+ label: '\u10da'
+ base: '\u10da'
+ shift, capslock: '\u20be'
+ ralt: 'l'
+ ralt+shift, ralt+capslock: 'L'
+}
+
+key SEMICOLON {
+ label: ';'
+ base: ';'
+ shift, capslock: ':'
+ ralt: ';'
+ ralt+shift: ':'
+}
+
+key APOSTROPHE {
+ label: '\''
+ base: '\''
+ shift, capslock: '"'
+ ralt: '\''
+ ralt+shift: '"'
+}
+
+### ROW 4
+
+key Z {
+ label: '\u10d6'
+ base: '\u10d6'
+ shift, capslock: '\u10eb'
+ ralt: 'z'
+ ralt+shift, ralt+capslock: 'Z'
+}
+
+key X {
+ label: '\u10ee'
+ base: '\u10ee'
+ ralt: 'x'
+ ralt+shift, ralt+capslock: 'X'
+}
+
+key C {
+ label: '\u10ea'
+ base: '\u10ea'
+ shift, capslock: '\u10e9'
+ ralt: 'c'
+ ralt+shift, ralt+capslock: 'C'
+}
+
+key V {
+ label: '\u10d5'
+ base: '\u10d5'
+ ralt: 'v'
+ ralt+shift, ralt+capslock: 'V'
+}
+
+key B {
+ label: '\u10d1'
+ base: '\u10d1'
+ ralt: 'b'
+ ralt+shift, ralt+capslock: 'B'
+}
+
+key N {
+ label: '\u10dc'
+ base: '\u10dc'
+ ralt: 'n'
+ ralt+shift, ralt+capslock: 'N'
+}
+
+key M {
+ label: '\u10db'
+ base: '\u10db'
+ ralt: 'm'
+ ralt+shift, ralt+capslock: 'M'
+}
+
+key COMMA {
+ label: ','
+ base: ','
+ shift, capslock: '<'
+ ralt: ','
+ ralt+shift: '<'
+}
+
+key PERIOD {
+ label: '.'
+ base: '.'
+ shift, capslock: '>'
+ ralt: '.'
+ ralt+shift: '>'
+}
+
+key SLASH {
+ label: '/'
+ base: '/'
+ shift: '?'
+ ralt: '/'
+ ralt+shift: '?'
+}
diff --git a/packages/InputDevices/res/values/strings.xml b/packages/InputDevices/res/values/strings.xml
index a21d13d0e986..987814626689 100644
--- a/packages/InputDevices/res/values/strings.xml
+++ b/packages/InputDevices/res/values/strings.xml
@@ -134,4 +134,7 @@
<!-- Mongolian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_mongolian">Mongolian</string>
+
+ <!-- Georgian keyboard layout label. [CHAR LIMIT=35] -->
+ <string name="keyboard_layout_georgian">Georgian</string>
</resources>
diff --git a/packages/InputDevices/res/xml/keyboard_layouts.xml b/packages/InputDevices/res/xml/keyboard_layouts.xml
index 7c5510544090..0d7a13b3eb34 100644
--- a/packages/InputDevices/res/xml/keyboard_layouts.xml
+++ b/packages/InputDevices/res/xml/keyboard_layouts.xml
@@ -171,4 +171,8 @@
<keyboard-layout android:name="keyboard_layout_mongolian"
android:label="@string/keyboard_layout_mongolian"
android:keyboardLayout="@raw/keyboard_layout_mongolian" />
+
+ <keyboard-layout android:name="keyboard_layout_georgian"
+ android:label="@string/keyboard_layout_georgian"
+ android:keyboardLayout="@raw/keyboard_layout_georgian" />
</keyboard-layouts>