Add yet more keyboard layouts.

Bug: 6110399
Change-Id: I8e2ce1cd350dddb006df51286e127dce65a8117f
This commit is contained in:
Jeff Brown
2012-04-25 15:10:54 -07:00
parent 1fa1de527e
commit 69b2be163d
18 changed files with 5014 additions and 13 deletions

View File

@@ -153,20 +153,26 @@ public class KeyCharacterMap implements Parcelable {
private static final int ACCENT_BREVE = '\u02D8';
private static final int ACCENT_CARON = '\u02C7';
private static final int ACCENT_CEDILLA = '\u00B8';
private static final int ACCENT_CIRCUMFLEX = '\u02C6';
private static final int ACCENT_COMMA_ABOVE = '\u1FBD';
private static final int ACCENT_COMMA_ABOVE_RIGHT = '\u02BC';
private static final int ACCENT_DOT_ABOVE = '\u02D9';
private static final int ACCENT_DOT_BELOW = '.'; // approximate
private static final int ACCENT_DOUBLE_ACUTE = '\u02DD';
private static final int ACCENT_GRAVE = '\u02CB';
private static final int ACCENT_CIRCUMFLEX = '\u02C6';
private static final int ACCENT_HOOK_ABOVE = '\u02C0';
private static final int ACCENT_HORN = '\''; // approximate
private static final int ACCENT_MACRON = '\u00AF';
private static final int ACCENT_MACRON_BELOW = '\u02CD';
private static final int ACCENT_OGONEK = '\u02DB';
private static final int ACCENT_REVERSED_COMMA_ABOVE = '\u02BD';
private static final int ACCENT_RING_ABOVE = '\u02DA';
private static final int ACCENT_STROKE = '-'; // approximate
private static final int ACCENT_TILDE = '\u02DC';
private static final int ACCENT_TURNED_COMMA_ABOVE = '\u02BB';
private static final int ACCENT_UMLAUT = '\u00A8';
private static final int ACCENT_VERTICAL_LINE_ABOVE = '\u02C8';
private static final int ACCENT_VERTICAL_LINE_BELOW = '\u02CC';
/* Legacy dead key display characters used in previous versions of the API.
* We still support these characters by mapping them to their non-legacy version. */
@@ -188,11 +194,11 @@ public class KeyCharacterMap implements Parcelable {
addCombining('\u0306', ACCENT_BREVE);
addCombining('\u0307', ACCENT_DOT_ABOVE);
addCombining('\u0308', ACCENT_UMLAUT);
//addCombining('\u0309', ACCENT_HOOK_ABOVE);
addCombining('\u0309', ACCENT_HOOK_ABOVE);
addCombining('\u030A', ACCENT_RING_ABOVE);
addCombining('\u030B', ACCENT_DOUBLE_ACUTE);
addCombining('\u030C', ACCENT_CARON);
//addCombining('\u030D', ACCENT_VERTICAL_LINE_ABOVE);
addCombining('\u030D', ACCENT_VERTICAL_LINE_ABOVE);
//addCombining('\u030E', ACCENT_DOUBLE_VERTICAL_LINE_ABOVE);
//addCombining('\u030F', ACCENT_DOUBLE_GRAVE);
//addCombining('\u0310', ACCENT_CANDRABINDU);
@@ -201,13 +207,14 @@ public class KeyCharacterMap implements Parcelable {
addCombining('\u0313', ACCENT_COMMA_ABOVE);
addCombining('\u0314', ACCENT_REVERSED_COMMA_ABOVE);
addCombining('\u0315', ACCENT_COMMA_ABOVE_RIGHT);
//addCombining('\u031B', ACCENT_HORN);
//addCombining('\u0323', ACCENT_DOT_BELOW);
addCombining('\u031B', ACCENT_HORN);
addCombining('\u0323', ACCENT_DOT_BELOW);
//addCombining('\u0326', ACCENT_COMMA_BELOW);
addCombining('\u0327', ACCENT_CEDILLA);
addCombining('\u0328', ACCENT_OGONEK);
//addCombining('\u0329', ACCENT_VERTICAL_LINE_BELOW);
addCombining('\u0329', ACCENT_VERTICAL_LINE_BELOW);
addCombining('\u0331', ACCENT_MACRON_BELOW);
addCombining('\u0335', ACCENT_STROKE);
//addCombining('\u0342', ACCENT_PERISPOMENI);
//addCombining('\u0344', ACCENT_DIALYTIKA_TONOS);
//addCombining('\u0345', ACCENT_YPOGEGRAMMENI);
@@ -235,6 +242,33 @@ public class KeyCharacterMap implements Parcelable {
*/
private static final SparseIntArray sDeadKeyCache = new SparseIntArray();
private static final StringBuilder sDeadKeyBuilder = new StringBuilder();
static {
// Non-standard decompositions.
// Stroke modifier for Finnish multilingual keyboard and others.
addDeadKey(ACCENT_STROKE, 'D', '\u0110');
addDeadKey(ACCENT_STROKE, 'G', '\u01e4');
addDeadKey(ACCENT_STROKE, 'H', '\u0126');
addDeadKey(ACCENT_STROKE, 'I', '\u0197');
addDeadKey(ACCENT_STROKE, 'L', '\u0141');
addDeadKey(ACCENT_STROKE, 'O', '\u00d8');
addDeadKey(ACCENT_STROKE, 'T', '\u0166');
addDeadKey(ACCENT_STROKE, 'd', '\u0111');
addDeadKey(ACCENT_STROKE, 'g', '\u01e5');
addDeadKey(ACCENT_STROKE, 'h', '\u0127');
addDeadKey(ACCENT_STROKE, 'i', '\u0268');
addDeadKey(ACCENT_STROKE, 'l', '\u0142');
addDeadKey(ACCENT_STROKE, 'o', '\u00f8');
addDeadKey(ACCENT_STROKE, 't', '\u0167');
}
private static void addDeadKey(int accent, int c, int result) {
final int combining = sAccentToCombining.get(accent);
if (combining == 0) {
throw new IllegalStateException("Invalid dead key declaration.");
}
final int combination = (combining << 16) | c;
sDeadKeyCache.put(combination, result);
}
public static final Parcelable.Creator<KeyCharacterMap> CREATOR =
new Parcelable.Creator<KeyCharacterMap>() {

View File

@@ -0,0 +1,352 @@
# Copyright (C) 2012 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.
#
# Croatian and Slovenian keyboard layout, QWERTZ style.
#
type OVERLAY
map key 12 SLASH
map key 21 Z
map key 44 Y
map key 53 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\u00b8'
base: '\u0327'
shift: '\u0308'
}
key 1 {
label: '1'
base: '1'
shift: '!'
ralt: '\u0303'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '\u030c'
}
key 3 {
label: '3'
base: '3'
shift: '#'
ralt: '\u0302'
}
key 4 {
label: '4'
base: '4'
shift: '$'
ralt: '\u0306'
}
key 5 {
label: '5'
base: '5'
shift: '%'
ralt: '\u030a'
}
key 6 {
label: '6'
base: '6'
shift: '&'
ralt: '\u0328'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '\u0300'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '\u0307'
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: '\u0301'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '\u030b'
}
key SLASH {
label: '\''
base: '\''
shift: '?'
ralt: '\u0308'
}
key EQUALS {
label: '+'
base: '+'
shift: '*'
ralt: '\u0327'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
ralt: '\\'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
ralt: '|'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u0160'
base: '\u0161'
shift, capslock: '\u0160'
ralt: '\u00f7'
}
key RIGHT_BRACKET {
label: '\u0110'
base: '\u0111'
shift, capslock: '\u0110'
ralt: '\u00d7'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
ralt: '['
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
ralt: ']'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
ralt: '\u0268'
ralt+shift, ralt+capslock: '\u0197'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
ralt: '\u0142'
ralt+shift, ralt+capslock: '\u0141'
}
key SEMICOLON {
label: '\u010d'
base: '\u010c'
shift, capslock: '\u010d'
}
key APOSTROPHE {
label: '\u0106'
base: '\u0107'
shift, capslock: '\u0106'
ralt: '\u00df'
}
key BACKSLASH {
label: '\u017d'
base: '\u017e'
shift, capslock: '\u017d'
ralt: '\u00a4'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
ralt: '@'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
ralt: '{'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
ralt: '}'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
ralt: '\u00a7'
}
key COMMA {
label: ','
base: ','
shift: ';'
ralt: '<'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
ralt: '>'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
}

View File

@@ -0,0 +1,348 @@
# Copyright (C) 2012 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.
#
# Czech keyboard layout.
#
type OVERLAY
map key 86 PLUS
### ROW 1
key GRAVE {
label: ';'
base: ';'
shift: '\u00b0'
}
key 1 {
label: '1'
base: '+'
shift: '1'
ralt: '!'
}
key 2 {
label: '2'
base: '\u011b'
shift: '2'
ralt: '@'
}
key 3 {
label: '3'
base: '\u0161'
shift: '3'
ralt: '#'
}
key 4 {
label: '4'
base: '\u010d'
shift: '4'
ralt: '$'
}
key 5 {
label: '5'
base: '\u0159'
shift: '5'
ralt: '%'
}
key 6 {
label: '6'
base: '\u017e'
shift: '6'
ralt: '^'
}
key 7 {
label: '7'
base: '\u00fd'
shift: '7'
ralt: '&'
}
key 8 {
label: '8'
base: '\u00e1'
shift: '8'
ralt: '*'
}
key 9 {
label: '9'
base: '\u00ed'
shift: '9'
ralt: '('
}
key 0 {
label: '0'
base: '\u00e9'
shift: '0'
ralt: ')'
}
key MINUS {
label: '='
base: '='
shift: '%'
ralt: '-'
ralt+shift: '_'
}
key EQUALS {
label: '\u00b4'
base: '\u0301'
shift: '\u030c'
ralt: '='
ralt+shift: '+'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u00fa'
base: '\u00fa'
shift: '/'
ralt: '['
ralt+shift: '{'
}
key RIGHT_BRACKET {
label: ')'
base: ')'
shift: '('
ralt: ']'
ralt+shift: '}'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u016f'
base: '\u016f'
shift: '"'
ralt: ';'
ralt+shift: ':'
}
key APOSTROPHE {
label: '\u00a7'
base: '\u00a7'
shift: '!'
ralt: '\''
ralt+shift: '"'
}
key BACKSLASH {
label: '\u0308'
base: '\u0308'
shift: '\''
ralt: '\\'
ralt+shift: '|'
}
### ROW 4
key PLUS {
label: '\\'
base: '\\'
shift: '|'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
ralt: '@'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
ralt: '\u00b5'
}
key COMMA {
label: ','
base: ','
shift: '?'
ralt: '<'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
ralt: '>'
}
key SLASH {
label: '-'
base: '-'
shift: '_'
ralt: '/'
ralt+shift: '?'
}

View File

@@ -0,0 +1,331 @@
# Copyright (C) 2012 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.
#
# Danish keyboard layout.
#
type OVERLAY
map key 12 SLASH
map key 53 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\u00bd'
base: '\u00bd'
shift: '\u00a7'
}
key 1 {
label: '1'
base: '1'
shift: '!'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '@'
}
key 3 {
label: '3'
base: '3'
shift: '#'
ralt: '\u00a3'
}
key 4 {
label: '4'
base: '4'
shift: '\u00a4'
ralt: '$'
}
key 5 {
label: '5'
base: '5'
shift: '%'
}
key 6 {
label: '6'
base: '6'
shift: '&'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '{'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '['
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: ']'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '}'
}
key SLASH {
label: '+'
base: '+'
shift: '?'
}
key EQUALS {
label: '\u00b4'
base: '\u0301'
shift: '\u0300'
ralt: '|'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u00c5'
base: '\u00e5'
shift, capslock: '\u00c5'
}
key RIGHT_BRACKET {
label: '\u00a8'
base: '\u0308'
shift: '\u0302'
ralt: '\u0303'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u00c6'
base: '\u00e6'
shift, capslock: '\u00c6'
}
key APOSTROPHE {
label: '\u00d8'
base: '\u00f8'
shift, capslock: '\u00d8'
}
key BACKSLASH {
label: '\''
base: '\''
shift: '*'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
ralt: '\\'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
ralt: '\u00b5'
}
key COMMA {
label: ','
base: ','
shift: ';'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
}

View File

@@ -0,0 +1,336 @@
# Copyright (C) 2012 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.
#
# Estonian keyboard layout.
#
type OVERLAY
map key 12 SLASH
map key 53 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\u02c7'
base: '\u030c'
shift: '\u0303'
}
key 1 {
label: '1'
base: '1'
shift: '!'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '@'
}
key 3 {
label: '3'
base: '3'
shift: '#'
ralt: '\u00a3'
}
key 4 {
label: '4'
base: '4'
shift: '\u00a4'
ralt: '$'
}
key 5 {
label: '5'
base: '5'
shift: '%'
}
key 6 {
label: '6'
base: '6'
shift: '&'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '{'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '['
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: ']'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '}'
}
key SLASH {
label: '+'
base: '+'
shift: '?'
ralt: '\\'
}
key EQUALS {
label: '\u00b4'
base: '\u0301'
shift: '\u0300'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u00dc'
base: '\u00fc'
shift, capslock: '\u00dc'
}
key RIGHT_BRACKET {
label: '\u00d5'
base: '\u00f5'
shift, capslock: '\u00d5'
ralt: '\u00a7'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
ralt: '\u0161'
ralt+shift, ralt+capslock: '\u0160'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u00d6'
base: '\u00f6'
shift, capslock: '\u00d6'
}
key APOSTROPHE {
label: '\u00c4'
base: '\u00e4'
shift, capslock: '\u00c4'
ralt: '\u0302'
}
key BACKSLASH {
label: '\''
base: '\''
shift: '*'
ralt: '\u00bd'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
ralt: '|'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
ralt: '\u017e'
ralt+shift, ralt+capslock: '\u017d'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
}
key COMMA {
label: ','
base: ','
shift: ';'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
}

View File

@@ -0,0 +1,380 @@
# Copyright (C) 2012 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.
#
# Finnish multilingual keyboard layout.
#
type OVERLAY
map key 12 SLASH
map key 53 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\u00a7'
base: '\u00a7'
shift: '\u00bd'
ralt: '\u0335'
}
key 1 {
label: '1'
base: '1'
shift: '!'
ralt+shift: '\u00a1'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '@'
ralt+shift: '\u201d'
}
key 3 {
label: '3'
base: '3'
shift: '#'
ralt: '\u00a3'
ralt+shift: '\u00bb'
}
key 4 {
label: '4'
base: '4'
shift: '\u00a4'
ralt: '$'
ralt+shift: '\u00ab'
}
key 5 {
label: '5'
base: '5'
shift: '%'
ralt: '\u2030'
ralt+shift: '\u201c'
}
key 6 {
label: '6'
base: '6'
shift: '&'
ralt: '\u201a'
ralt+shift: '\u201e'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '{'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '['
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: ']'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '}'
ralt+shift: '\u00b0'
}
key SLASH {
label: '+'
base: '+'
shift: '?'
ralt: '\\'
ralt+shift: '\u00bf'
}
key EQUALS {
label: '\u00b4'
base: '\u0301'
shift: '\u0300'
ralt: '\u0327'
ralt+shift: '\u0328'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
ralt: '\u00fe'
ralt+shift, ralt+capslock: '\u00de'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
ralt: '\u0131'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
ralt: '\u0153'
ralt+shift, ralt+capslock: '\u0152'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
ralt: '\u031b'
ralt+shift: '\u0309'
}
key LEFT_BRACKET {
label: '\u00c5'
base: '\u00e5'
shift, capslock: '\u00c5'
ralt: '\u030b'
ralt+shift: '\u030a'
}
key RIGHT_BRACKET {
label: '\u00a8'
base: '\u0308'
shift: '\u0302'
ralt: '\u0303'
ralt+shift: '\u0304'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
ralt: '\u0259'
ralt+shift, ralt+capslock: '\u018f'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
ralt: '\u00df'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
ralt: '\u00f0'
ralt+shift, ralt+capslock: '\u00d0'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
ralt: '\u0138'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
ralt: '\u0335'
}
key SEMICOLON {
label: '\u00d6'
base: '\u00f6'
shift, capslock: '\u00d6'
ralt: '\u00f8'
ralt+shift, ralt+capslock: '\u00d8'
}
key APOSTROPHE {
label: '\u00c4'
base: '\u00e4'
shift, capslock: '\u00c4'
ralt: '\u00e6'
ralt+shift, ralt+capslock: '\u00c6'
}
key BACKSLASH {
label: '\''
base: '\''
shift: '*'
ralt: '\u030c'
ralt+shift: '\u0306'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
ralt: '|'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
ralt: '\u0292'
ralt+shift, ralt+capslock: '\u01b7'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
ralt: '\u00d7'
ralt+shift: '\u00b7'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
ralt: '\u014b'
ralt+shift, ralt+capslock: '\u014a'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
ralt: '\u00b5'
ralt+shift: '\u2014'
}
key COMMA {
label: ','
base: ','
shift: ';'
ralt: '\u2019'
ralt+shift: '\u2018'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
ralt: '\u0323'
ralt+shift: '\u0307'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
ralt: '\u2013'
ralt+shift: '\u0307'
}

View File

@@ -0,0 +1,362 @@
# Copyright (C) 2012 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.
#
# Hungarian keyboard layout, QWERTZ style.
#
type OVERLAY
map key 41 0
map key 11 GRAVE
map key 12 SLASH
map key 21 Z
map key 44 Y
map key 53 MINUS
map key 86 PLUS
### ROW 1
key 0 {
label: '0'
base: '0'
shift: '\u00a7'
}
key 1 {
label: '1'
base: '1'
shift: '!'
ralt: '\u0303'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '\u030c'
}
key 3 {
label: '3'
base: '3'
shift: '+'
ralt: '\u0302'
}
key 4 {
label: '4'
base: '4'
shift: '!'
ralt: '\u0306'
}
key 5 {
label: '5'
base: '5'
shift: '%'
ralt: '\u030a'
}
key 6 {
label: '6'
base: '6'
shift: '/'
ralt: '\u0328'
}
key 7 {
label: '7'
base: '7'
shift: '='
ralt: '\u0300'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '\u0307'
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: '\u0301'
}
key GRAVE {
label: '\u00d6'
base: '\u00f6'
shift, capslock: '\u00d6'
ralt: '\u030b'
}
key SLASH {
label: '\u00dc'
base: '\u00fc'
shift, capslock: '\u00dc'
ralt: '\u0308'
}
key EQUALS {
label: '\u00d3'
base: '\u00f3'
shift, capslock: '\u00d3'
ralt: '\u0327'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
ralt: '\\'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
ralt: '|'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u00c4'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
ralt: '\u20ac'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
ralt: '\u00cd'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u0150'
base: '\u0151'
shift, capslock: '\u0150'
ralt: '\u00f7'
}
key RIGHT_BRACKET {
label: '\u00da'
base: '\u00fa'
shift, capslock: '\u00da'
ralt: '\u00d7'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
ralt: '\u00e4'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
ralt: '\u0111'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
ralt: '\u0110'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
ralt: '['
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
ralt: ']'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
ralt: '\u00ed'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
ralt: '\u0197'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
ralt: '\u0141'
}
key SEMICOLON {
label: '\u00c9'
base: '\u00e9'
shift, capslock: '\u00c9'
ralt: '$'
}
key APOSTROPHE {
label: '\u00c1'
base: '\u00e1'
shift, capslock: '\u00c1'
ralt: '\u00df'
}
key BACKSLASH {
label: '\u0170'
base: '\u0171'
shift, capslock: '\u0170'
ralt: '\u00a4'
}
### ROW 4
key PLUS {
label: '\u00cd'
base: '\u00ed'
shift, capslock: '\u00cd'
ralt: '<'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
ralt: '>'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
ralt: '#'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
ralt: '&'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
ralt: '@'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
ralt: '{'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
ralt: '}'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
}
key COMMA {
label: ','
base: ','
shift: '?'
ralt: ';'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
ralt: '*'
}

View File

@@ -0,0 +1,332 @@
# Copyright (C) 2012 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.
#
# Icelandic keyboard layout.
#
type OVERLAY
map key 12 EQUALS
map key 13 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\u02da'
base: '\u030a'
shift: '\u0308'
}
key 1 {
label: '1'
base: '1'
shift: '!'
}
key 2 {
label: '2'
base: '2'
shift: '"'
}
key 3 {
label: '3'
base: '3'
shift: '#'
}
key 4 {
label: '4'
base: '4'
shift: '$'
}
key 5 {
label: '5'
base: '5'
shift: '%'
ralt: '\u20ac'
}
key 6 {
label: '6'
base: '6'
shift: '&'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '{'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '['
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: ']'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '}'
}
key EQUALS {
label: '\u00d6'
base: '\u00f6'
shift, capslock: '\u00d6'
ralt: '\\'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
ralt: '@'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u0110'
base: '\u0111'
shift, capslock: '\u0110'
}
key RIGHT_BRACKET {
label: '\''
base: '\''
shift: '?'
ralt: '~'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u00c6'
base: '\u00e6'
shift, capslock: '\u00c6'
}
key APOSTROPHE {
label: '\u00b4'
base: '\u0301'
shift: '\''
ralt: '^'
}
key BACKSLASH {
label: '+'
base: '+'
shift: '*'
ralt: '`'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
ralt: '|'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
ralt: '\u00b5'
}
key COMMA {
label: ','
base: ','
shift: ';'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}
key SLASH {
label: '\u00de'
base: '\u00fe'
shift, capslock: '\u00de'
}

View File

@@ -0,0 +1,327 @@
# Copyright (C) 2012 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.
#
# Italian keyboard layout.
#
type OVERLAY
map key 12 SLASH
map key 53 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\\'
base: '\\'
shift: '|'
}
key 1 {
label: '1'
base: '1'
shift: '!'
}
key 2 {
label: '2'
base: '2'
shift: '"'
}
key 3 {
label: '3'
base: '3'
shift: '\u00a3'
}
key 4 {
label: '4'
base: '4'
shift: '$'
}
key 5 {
label: '5'
base: '5'
shift: '%'
ralt: '\u20ac'
}
key 6 {
label: '6'
base: '6'
shift: '&'
}
key 7 {
label: '7'
base: '7'
shift: '/'
}
key 8 {
label: '8'
base: '8'
shift: '('
}
key 9 {
label: '9'
base: '9'
shift: ')'
}
key 0 {
label: '0'
base: '0'
shift: '='
}
key SLASH {
label: '\''
base: '\''
shift: '?'
}
key EQUALS {
label: '\u00ec'
base: '\u00ec'
shift: '^'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u00e8'
base: '\u00e8'
shift: '\u00e9'
ralt: '['
ralt+shift: '{'
}
key RIGHT_BRACKET {
label: '+'
base: '+'
shift: '*'
ralt: ']'
ralt+shift: '}'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u00f2'
base: '\u00f2'
shift: '\u00e7'
ralt: '@'
}
key APOSTROPHE {
label: '\u00e0'
base: '\u00e0'
shift: '\u00b0'
ralt: '#'
}
key BACKSLASH {
label: '\u00f9'
base: '\u00f9'
shift: '\u00a7'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
}
key COMMA {
label: ','
base: ','
shift: ';'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
}

View File

@@ -0,0 +1,330 @@
# Copyright (C) 2012 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.
#
# Norwegian keyboard layout.
#
type OVERLAY
map key 12 SLASH
map key 53 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '|'
base: '|'
shift: '\u00a7'
}
key 1 {
label: '1'
base: '1'
shift: '!'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '@'
}
key 3 {
label: '3'
base: '3'
shift: '#'
ralt: '\u00a3'
}
key 4 {
label: '4'
base: '4'
shift: '\u00a4'
ralt: '$'
}
key 5 {
label: '5'
base: '5'
shift: '%'
}
key 6 {
label: '6'
base: '6'
shift: '&'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '{'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '['
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: ']'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '}'
}
key SLASH {
label: '+'
base: '+'
shift: '?'
}
key EQUALS {
label: '\\'
base: '\\'
shift: '\u0300'
ralt: '\u0301'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u00c5'
base: '\u00e5'
shift, capslock: '\u00c5'
}
key RIGHT_BRACKET {
label: '\u00a8'
base: '\u0308'
shift: '\u0302'
ralt: '\u0303'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u00d8'
base: '\u00f8'
shift, capslock: '\u00d8'
}
key APOSTROPHE {
label: '\u00c6'
base: '\u00e6'
shift, capslock: '\u00c6'
}
key BACKSLASH {
label: '\''
base: '\''
shift: '*'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
ralt: '\u00b5'
}
key COMMA {
label: ','
base: ','
shift: ';'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
}

View File

@@ -0,0 +1,329 @@
# Copyright (C) 2012 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.
#
# Portuguese keyboard layout.
#
type OVERLAY
map key 12 SLASH
map key 53 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\\'
base: '\\'
shift: '|'
}
key 1 {
label: '1'
base: '1'
shift: '!'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '@'
}
key 3 {
label: '3'
base: '3'
shift: '#'
ralt: '\u00a3'
}
key 4 {
label: '4'
base: '4'
shift: '$'
ralt: '\u00a7'
}
key 5 {
label: '5'
base: '5'
shift: '%'
}
key 6 {
label: '6'
base: '6'
shift: '&'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '{'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '['
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: ']'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '}'
}
key SLASH {
label: '\''
base: '\''
shift: '?'
}
key EQUALS {
label: '\u00ab'
base: '\u00ab'
shift: '\u00bb'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '+'
base: '+'
shift: '*'
ralt: '\u0308'
}
key RIGHT_BRACKET {
label: '\u00b4'
base: '\u0301'
shift: '\u0300'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u00c7'
base: '\u00e7'
shift, capslock: '\u00c7'
}
key APOSTROPHE {
label: '\u00ba'
base: '\u00ba'
shift: '\u00aa'
}
key BACKSLASH {
label: '\u02dc'
base: '\u0303'
shift: '\u0302'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
ralt: '\\'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
}
key COMMA {
label: ','
base: ','
shift: ';'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
}

View File

@@ -15,7 +15,7 @@
#
# Russian keyboard layout.
# This is a variant of the typical Russian PC keyboard layout that is presented
# on Apple keyboards. In contrast with the standard layout, some of the symbols and
# on Mac keyboards. In contrast with the standard layout, some of the symbols and
# punctuation characters have been rearranged.
# As an added convenience, English characters are accessible using ralt (Alt Gr).
#

View File

@@ -0,0 +1,353 @@
# Copyright (C) 2012 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.
#
# Slovak keyboard layout.
#
type OVERLAY
map key 86 PLUS
### ROW 1
key GRAVE {
label: ';'
base: ';'
shift: '\u00b0'
ralt: '`'
ralt+shift: '~'
}
key 1 {
label: '1'
base: '+'
shift: '1'
ralt: '!'
}
key 2 {
label: '2'
base: '\u013e'
shift: '2'
ralt: '@'
}
key 3 {
label: '3'
base: '\u0161'
shift: '3'
ralt: '#'
}
key 4 {
label: '4'
base: '\u010d'
shift: '4'
ralt: '$'
}
key 5 {
label: '5'
base: '\u0165'
shift: '5'
ralt: '%'
}
key 6 {
label: '6'
base: '\u017e'
shift: '6'
ralt: '^'
}
key 7 {
label: '7'
base: '\u00fd'
shift: '7'
ralt: '&'
}
key 8 {
label: '8'
base: '\u00e1'
shift: '8'
ralt: '*'
}
key 9 {
label: '9'
base: '\u00ed'
shift: '9'
ralt: '('
}
key 0 {
label: '0'
base: '\u00e9'
shift: '0'
ralt: ')'
}
key MINUS {
label: '='
base: '='
shift: '%'
ralt: '-'
ralt+shift: '_'
}
key EQUALS {
label: '\u00b4'
base: '\u0301'
shift: '\u030c'
ralt: '='
ralt+shift: '+'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
ralt: '\\'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
ralt: '|'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u00fa'
base: '\u00fa'
shift: '/'
ralt: '['
ralt+shift: '{'
}
key RIGHT_BRACKET {
label: '\u00e4'
base: '\u00e4'
shift: '('
ralt: ']'
ralt+shift: '}'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u00f4'
base: '\u00f4'
shift: '"'
ralt: ';'
ralt+shift: ':'
}
key APOSTROPHE {
label: '\u00a7'
base: '\u00a7'
shift: '!'
ralt: '\''
ralt+shift: '"'
}
key BACKSLASH {
label: '\u0148'
base: '\u0148'
shift: ')'
ralt: '\\'
ralt+shift: '|'
}
### ROW 4
key PLUS {
label: '\\'
base: '\\'
shift: '|'
ralt: '&'
ralt+shift: '*'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
ralt: '@'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
}
key COMMA {
label: ','
base: ','
shift: '?'
ralt: '<'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
ralt: '>'
}
key SLASH {
label: '-'
base: '-'
shift: '_'
ralt: '/'
ralt+shift: '?'
}

View File

@@ -0,0 +1,331 @@
# Copyright (C) 2012 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.
#
# Swedish keyboard layout.
#
type OVERLAY
map key 12 SLASH
map key 53 MINUS
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\u00a7'
base: '\u00a7'
shift: '\u00bd'
}
key 1 {
label: '1'
base: '1'
shift: '!'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '@'
}
key 3 {
label: '3'
base: '3'
shift: '#'
ralt: '\u00a3'
}
key 4 {
label: '4'
base: '4'
shift: '\u00a4'
ralt: '$'
}
key 5 {
label: '5'
base: '5'
shift: '%'
}
key 6 {
label: '6'
base: '6'
shift: '&'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '{'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '['
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: ']'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '}'
}
key SLASH {
label: '+'
base: '+'
shift: '?'
ralt: '\\'
}
key EQUALS {
label: '\u00b4'
base: '\u0301'
shift: '\u0300'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: 'i'
shift, capslock: 'I'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u00c5'
base: '\u00e5'
shift, capslock: '\u00c5'
}
key RIGHT_BRACKET {
label: '\u00a8'
base: '\u0308'
shift: '\u0302'
ralt: '\u0303'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u00d6'
base: '\u00f6'
shift, capslock: '\u00d6'
}
key APOSTROPHE {
label: '\u00c4'
base: '\u00e4'
shift, capslock: '\u00c4'
}
key BACKSLASH {
label: '\''
base: '\''
shift: '*'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
ralt: '|'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
ralt: '\u00b5'
}
key COMMA {
label: ','
base: ','
shift: ';'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
}

View File

@@ -0,0 +1,347 @@
# Copyright (C) 2012 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.
#
# Turkish keyboard layout.
#
type OVERLAY
map key 12 SLASH
map key 13 MINUS
map key 43 COMMA
map key 51 EQUALS
map key 52 BACKSLASH
map key 53 PERIOD
map key 86 PLUS
### ROW 1
key GRAVE {
label: '"'
base: '"'
shift: '\u00e9'
ralt: '<'
}
key 1 {
label: '1'
base: '1'
shift: '!'
ralt: '>'
}
key 2 {
label: '2'
base: '2'
shift: '\''
ralt: '\u00a3'
}
key 3 {
label: '3'
base: '3'
shift: '\u0302'
ralt: '#'
}
key 4 {
label: '4'
base: '4'
shift: '+'
ralt: '$'
}
key 5 {
label: '5'
base: '5'
shift: '%'
ralt: '\u00bd'
}
key 6 {
label: '6'
base: '6'
shift: '&'
}
key 7 {
label: '7'
base: '7'
shift: '/'
ralt: '{'
}
key 8 {
label: '8'
base: '8'
shift: '('
ralt: '['
}
key 9 {
label: '9'
base: '9'
shift: ')'
ralt: ']'
}
key 0 {
label: '0'
base: '0'
shift: '='
ralt: '}'
}
key SLASH {
label: '*'
base: '*'
shift: '?'
ralt: '\\'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
ralt: '|'
}
### ROW 2
key Q {
label: 'Q'
base: 'q'
shift, capslock: 'Q'
ralt: '@'
}
key W {
label: 'W'
base: 'w'
shift, capslock: 'W'
}
key E {
label: 'E'
base: 'e'
shift, capslock: 'E'
ralt: '\u20ac'
}
key R {
label: 'R'
base: 'r'
shift, capslock: 'R'
}
key T {
label: 'T'
base: 't'
shift, capslock: 'T'
}
key Y {
label: 'Y'
base: 'y'
shift, capslock: 'Y'
}
key U {
label: 'U'
base: 'u'
shift, capslock: 'U'
}
key I {
label: 'I'
base: '\u0131'
shift, capslock: 'I'
ralt: 'i'
ralt+shift, ralt+capslock: '\u0130'
}
key O {
label: 'O'
base: 'o'
shift, capslock: 'O'
}
key P {
label: 'P'
base: 'p'
shift, capslock: 'P'
}
key LEFT_BRACKET {
label: '\u011e'
base: '\u011f'
shift, capslock: '\u011e'
ralt: '\u0308'
}
key RIGHT_BRACKET {
label: '\u00dc'
base: '\u00fc'
shift, capslock: '\u00dc'
ralt: '\u0303'
}
### ROW 3
key A {
label: 'A'
base: 'a'
shift, capslock: 'A'
ralt: '\u00e6'
ralt+shift, ralt+capslock: '\u00c6'
}
key S {
label: 'S'
base: 's'
shift, capslock: 'S'
ralt: '\u00df'
}
key D {
label: 'D'
base: 'd'
shift, capslock: 'D'
}
key F {
label: 'F'
base: 'f'
shift, capslock: 'F'
}
key G {
label: 'G'
base: 'g'
shift, capslock: 'G'
}
key H {
label: 'H'
base: 'h'
shift, capslock: 'H'
}
key J {
label: 'J'
base: 'j'
shift, capslock: 'J'
}
key K {
label: 'K'
base: 'k'
shift, capslock: 'K'
}
key L {
label: 'L'
base: 'l'
shift, capslock: 'L'
}
key SEMICOLON {
label: '\u015e'
base: '\u015f'
shift, capslock: '\u015e'
ralt: '\u0301'
}
key APOSTROPHE {
label: '\u0130'
base: 'i'
shift, capslock: '\u0130'
}
key COMMA {
label: ','
base: ','
shift: ';'
ralt: '\u0300'
}
### ROW 4
key PLUS {
label: '<'
base: '<'
shift: '>'
ralt: '\\'
}
key Z {
label: 'Z'
base: 'z'
shift, capslock: 'Z'
}
key X {
label: 'X'
base: 'x'
shift, capslock: 'X'
}
key C {
label: 'C'
base: 'c'
shift, capslock: 'C'
}
key V {
label: 'V'
base: 'v'
shift, capslock: 'V'
}
key B {
label: 'B'
base: 'b'
shift, capslock: 'B'
}
key N {
label: 'N'
base: 'n'
shift, capslock: 'N'
}
key M {
label: 'M'
base: 'm'
shift, capslock: 'M'
}
key EQUALS {
label: '\u00d6'
base: '\u00f6'
shift, capslock: '\u00d6'
}
key BACKSLASH {
label: '\u00c7'
base: '\u00e7'
shift, capslock: '\u00c7'
}
key PERIOD {
label: '.'
base: '.'
shift: ':'
}

View File

@@ -0,0 +1,404 @@
# Copyright (C) 2012 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.
#
# Ukrainian keyboard layout.
# This is a typical Ukrainian PC keyboard layout.
# As an added convenience, English characters are accessible using ralt (Alt Gr).
#
type OVERLAY
map key 86 PLUS
### ROW 1
key GRAVE {
label: '\u0401'
base: '\u0451'
shift, capslock: '\u0401'
ralt: '`'
ralt+shift: '~'
}
key 1 {
label: '1'
base: '1'
shift: '!'
ralt: '!'
}
key 2 {
label: '2'
base: '2'
shift: '"'
ralt: '@'
}
key 3 {
label: '3'
base: '3'
shift: '\u2116'
ralt: '#'
}
key 4 {
label: '4'
base: '4'
shift: ';'
ralt: '$'
}
key 5 {
label: '5'
base: '5'
shift: '%'
ralt: '%'
}
key 6 {
label: '6'
base: '6'
shift: ':'
ralt: '^'
}
key 7 {
label: '7'
base: '7'
shift: '?'
ralt: '&'
}
key 8 {
label: '8'
base: '8'
shift: '*'
ralt: '*'
}
key 9 {
label: '9'
base: '9'
shift: '('
ralt: '('
}
key 0 {
label: '0'
base: '0'
shift: ')'
ralt: ')'
}
key MINUS {
label: '-'
base: '-'
shift: '_'
ralt: '-'
ralt+shift: '_'
}
key EQUALS {
label: '='
base: '='
shift: '+'
ralt: '='
ralt+shift: '+'
}
### ROW 2
key Q {
label: '\u0419'
base: '\u0439'
shift, capslock: '\u0419'
ralt: 'q'
ralt+shift, ralt+capslock: 'Q'
}
key W {
label: '\u0426'
base: '\u0446'
shift, capslock: '\u0426'
ralt: 'w'
ralt+shift, ralt+capslock: 'W'
}
key E {
label: '\u0423'
base: '\u0443'
shift, capslock: '\u0423'
ralt: 'e'
ralt+shift, ralt+capslock: 'E'
}
key R {
label: '\u041a'
base: '\u043a'
shift, capslock: '\u041a'
ralt: 'r'
ralt+shift, ralt+capslock: 'R'
}
key T {
label: '\u0415'
base: '\u0435'
shift, capslock: '\u0415'
ralt: 't'
ralt+shift, ralt+capslock: 'T'
}
key Y {
label: '\u041d'
base: '\u043d'
shift, capslock: '\u041d'
ralt: 'y'
ralt+shift, ralt+capslock: 'Y'
}
key U {
label: '\u0413'
base: '\u0433'
shift, capslock: '\u0413'
ralt: 'u'
ralt+shift, ralt+capslock: 'U'
}
key I {
label: '\u0428'
base: '\u0448'
shift, capslock: '\u0428'
ralt: 'i'
ralt+shift, ralt+capslock: 'I'
}
key O {
label: '\u0429'
base: '\u0449'
shift, capslock: '\u0429'
ralt: 'o'
ralt+shift, ralt+capslock: 'O'
}
key P {
label: '\u0417'
base: '\u0437'
shift, capslock: '\u0417'
ralt: 'p'
ralt+shift, ralt+capslock: 'P'
}
key LEFT_BRACKET {
label: '\u0425'
base: '\u0445'
shift, capslock: '\u0425'
ralt: '['
ralt+shift: '{'
}
key RIGHT_BRACKET {
label: '\u0407'
base: '\u0457'
shift, capslock: '\u0407'
ralt: ']'
ralt+shift: '}'
}
### ROW 3
key A {
label: '\u0424'
base: '\u0444'
shift, capslock: '\u0424'
ralt: 'a'
ralt+shift, ralt+capslock: 'A'
}
key S {
label: '\u0406'
base: '\u0456'
shift, capslock: '\u0406'
ralt: 's'
ralt+shift, ralt+capslock: 'S'
}
key D {
label: '\u0412'
base: '\u0432'
shift, capslock: '\u0412'
ralt: 'd'
ralt+shift, ralt+capslock: 'D'
}
key F {
label: '\u0410'
base: '\u0430'
shift, capslock: '\u0410'
ralt: 'f'
ralt+shift, ralt+capslock: 'F'
}
key G {
label: '\u041f'
base: '\u043f'
shift, capslock: '\u041f'
ralt: 'g'
ralt+shift, ralt+capslock: 'G'
}
key H {
label: '\u0420'
base: '\u0440'
shift, capslock: '\u0420'
ralt: 'h'
ralt+shift, ralt+capslock: 'H'
}
key J {
label: '\u041e'
base: '\u043e'
shift, capslock: '\u041e'
ralt: 'j'
ralt+shift, ralt+capslock: 'J'
}
key K {
label: '\u041b'
base: '\u043b'
shift, capslock: '\u041b'
ralt: 'k'
ralt+shift, ralt+capslock: 'K'
}
key L {
label: '\u0414'
base: '\u0434'
shift, capslock: '\u0414'
ralt: 'l'
ralt+shift, ralt+capslock: 'L'
}
key SEMICOLON {
label: '\u0416'
base: '\u0436'
shift, capslock: '\u0416'
ralt: ';'
ralt+shift: ':'
}
key APOSTROPHE {
label: '\u0404'
base: '\u0454'
shift, capslock: '\u0404'
ralt: '\''
ralt+shift: '"'
}
key BACKSLASH {
label: '\\'
base: '\\'
shift: '/'
ralt: '|'
}
### ROW 4
key PLUS {
label: '\u0490'
base: '\u0491'
shift, capslock: '\u0490'
ralt: '\\'
ralt+shift: '|'
}
key Z {
label: '\u042f'
base: '\u044f'
shift, capslock: '\u042f'
ralt: 'z'
ralt+shift, ralt+capslock: 'Z'
}
key X {
label: '\u0427'
base: '\u0447'
shift, capslock: '\u0427'
ralt: 'x'
ralt+shift, ralt+capslock: 'X'
}
key C {
label: '\u0421'
base: '\u0441'
shift, capslock: '\u0421'
ralt: 'c'
ralt+shift, ralt+capslock: 'C'
}
key V {
label: '\u041c'
base: '\u043c'
shift, capslock: '\u041c'
ralt: 'v'
ralt+shift, ralt+capslock: 'V'
}
key B {
label: '\u0418'
base: '\u0438'
shift, capslock: '\u0418'
ralt: 'b'
ralt+shift, ralt+capslock: 'B'
}
key N {
label: '\u0422'
base: '\u0442'
shift, capslock: '\u0422'
ralt: 'n'
ralt+shift, ralt+capslock: 'N'
}
key M {
label: '\u042c'
base: '\u044c'
shift, capslock: '\u042c'
ralt: 'm'
ralt+shift, ralt+capslock: 'M'
}
key COMMA {
label: '\u0411'
base: '\u0431'
shift, capslock: '\u0411'
ralt: ','
ralt+shift: '<'
}
key PERIOD {
label: '\u042e'
base: '\u044e'
shift, capslock: '\u042e'
ralt: '.'
ralt+shift: '>'
}
key SLASH {
label: '.'
base: '.'
shift: ','
ralt: '/'
ralt+shift: '?'
}

View File

@@ -7,7 +7,7 @@
<string name="keyboard_layout_english_us_label">English (US)</string>
<!-- US English (Dvorak style) keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_english_us_dvorak_label">English (US), Dvorak</string>
<string name="keyboard_layout_english_us_dvorak_label">English (US), Dvorak style</string>
<!-- German keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_german_label">German</string>
@@ -21,8 +21,8 @@
<!-- Russian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_russian_label">Russian</string>
<!-- Russian (Apple style) keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_russian_apple_label">Russian, Apple</string>
<!-- Russian (Mac style) keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_russian_mac_label">Russian, Mac style</string>
<!-- Spanish keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_spanish_label">Spanish</string>
@@ -38,4 +38,49 @@
<!-- Bulgarian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_bulgarian">Bulgarian</string>
<!-- Italian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_italian">Italian</string>
<!-- Danish keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_danish">Danish</string>
<!-- Norwegian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_norwegian">Norwegian</string>
<!-- Swedish keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_swedish">Swedish</string>
<!-- Finnish keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_finnish">Finnish</string>
<!-- Croatian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_croatian">Croatian</string>
<!-- Czech keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_czech">Czech</string>
<!-- Estonian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_estonian">Estonian</string>
<!-- Hungarian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_hungarian">Hungarian</string>
<!-- Icelandic keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_icelandic">Icelandic</string>
<!-- Portuguese keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_portuguese">Portuguese</string>
<!-- Slovak keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_slovak">Slovak</string>
<!-- Slovenian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_slovenian">Slovenian</string>
<!-- Turkish keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_turkish">Turkish</string>
<!-- Ukrainian keyboard layout label. [CHAR LIMIT=35] -->
<string name="keyboard_layout_ukrainian">Ukrainian</string>
</resources>

View File

@@ -24,9 +24,9 @@
android:label="@string/keyboard_layout_russian_label"
android:kcm="@raw/keyboard_layout_russian" />
<keyboard-layout android:name="keyboard_layout_russian_apple"
android:label="@string/keyboard_layout_russian_apple_label"
android:kcm="@raw/keyboard_layout_russian_apple" />
<keyboard-layout android:name="keyboard_layout_russian_mac"
android:label="@string/keyboard_layout_russian_mac_label"
android:kcm="@raw/keyboard_layout_russian_mac" />
<keyboard-layout android:name="keyboard_layout_spanish"
android:label="@string/keyboard_layout_spanish_label"
@@ -47,4 +47,64 @@
<keyboard-layout android:name="keyboard_layout_bulgarian"
android:label="@string/keyboard_layout_bulgarian"
android:kcm="@raw/keyboard_layout_bulgarian" />
<keyboard-layout android:name="keyboard_layout_italian"
android:label="@string/keyboard_layout_italian"
android:kcm="@raw/keyboard_layout_italian" />
<keyboard-layout android:name="keyboard_layout_danish"
android:label="@string/keyboard_layout_danish"
android:kcm="@raw/keyboard_layout_danish" />
<keyboard-layout android:name="keyboard_layout_norwegian"
android:label="@string/keyboard_layout_norwegian"
android:kcm="@raw/keyboard_layout_norwegian" />
<keyboard-layout android:name="keyboard_layout_swedish"
android:label="@string/keyboard_layout_swedish"
android:kcm="@raw/keyboard_layout_swedish" />
<keyboard-layout android:name="keyboard_layout_finnish"
android:label="@string/keyboard_layout_finnish"
android:kcm="@raw/keyboard_layout_finnish" />
<keyboard-layout android:name="keyboard_layout_croatian"
android:label="@string/keyboard_layout_croatian"
android:kcm="@raw/keyboard_layout_croatian_and_slovenian" />
<keyboard-layout android:name="keyboard_layout_czech"
android:label="@string/keyboard_layout_czech"
android:kcm="@raw/keyboard_layout_czech" />
<keyboard-layout android:name="keyboard_layout_estonian"
android:label="@string/keyboard_layout_estonian"
android:kcm="@raw/keyboard_layout_estonian" />
<keyboard-layout android:name="keyboard_layout_hungarian"
android:label="@string/keyboard_layout_hungarian"
android:kcm="@raw/keyboard_layout_hungarian" />
<keyboard-layout android:name="keyboard_layout_icelandic"
android:label="@string/keyboard_layout_icelandic"
android:kcm="@raw/keyboard_layout_icelandic" />
<keyboard-layout android:name="keyboard_layout_portuguese"
android:label="@string/keyboard_layout_portuguese"
android:kcm="@raw/keyboard_layout_portuguese" />
<keyboard-layout android:name="keyboard_layout_slovak"
android:label="@string/keyboard_layout_slovak"
android:kcm="@raw/keyboard_layout_slovak" />
<keyboard-layout android:name="keyboard_layout_slovenian"
android:label="@string/keyboard_layout_slovenian"
android:kcm="@raw/keyboard_layout_croatian_and_slovenian" />
<keyboard-layout android:name="keyboard_layout_turkish"
android:label="@string/keyboard_layout_turkish"
android:kcm="@raw/keyboard_layout_turkish" />
<keyboard-layout android:name="keyboard_layout_ukrainian"
android:label="@string/keyboard_layout_ukrainian"
android:kcm="@raw/keyboard_layout_ukrainian" />
</keyboard-layouts>