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
This commit is contained in:
Chris Ye
2020-06-09 15:03:23 -07:00
parent be8054963e
commit e7b4e235a4
3 changed files with 390 additions and 0 deletions

View File

@@ -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: '?'
}

View File

@@ -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>

View File

@@ -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>