From d2923266ae50d1b6338912e6cb1a989817a8d1b6 Mon Sep 17 00:00:00 2001 From: Olivier Gay Date: Thu, 27 Mar 2014 17:21:01 +0100 Subject: Add support for additional international keyboard mappings Add kcm mapping files for Arabic, Greek, Hebrew, Lithuanian and Spanish (Latin). Change-Id: I35cb2a4d6e016c6f565fba05710ba1626452fe68 Signed-off-by: Olivier Gay Signed-off-by: Manuel Carthoblaz Signed-off-by: Mathieu Meisser --- .../res/raw/keyboard_layout_arabic.kcm | 319 +++++++++++++++++++ .../InputDevices/res/raw/keyboard_layout_greek.kcm | 338 ++++++++++++++++++++ .../res/raw/keyboard_layout_hebrew.kcm | 341 +++++++++++++++++++++ .../res/raw/keyboard_layout_lithuanian.kcm | 338 ++++++++++++++++++++ .../res/raw/keyboard_layout_spanish_latin.kcm | 325 ++++++++++++++++++++ packages/InputDevices/res/values/strings.xml | 15 + packages/InputDevices/res/xml/keyboard_layouts.xml | 20 ++ 7 files changed, 1696 insertions(+) create mode 100644 packages/InputDevices/res/raw/keyboard_layout_arabic.kcm create mode 100644 packages/InputDevices/res/raw/keyboard_layout_greek.kcm create mode 100644 packages/InputDevices/res/raw/keyboard_layout_hebrew.kcm create mode 100644 packages/InputDevices/res/raw/keyboard_layout_lithuanian.kcm create mode 100644 packages/InputDevices/res/raw/keyboard_layout_spanish_latin.kcm (limited to 'packages/InputDevices') diff --git a/packages/InputDevices/res/raw/keyboard_layout_arabic.kcm b/packages/InputDevices/res/raw/keyboard_layout_arabic.kcm new file mode 100644 index 0000000..2a95cfe --- /dev/null +++ b/packages/InputDevices/res/raw/keyboard_layout_arabic.kcm @@ -0,0 +1,319 @@ +# Copyright (C) 2013 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. + +# +# Arabic (US-101 keys) keyboard layout. +# + +type OVERLAY + +### ROW 1 + +key GRAVE { + label: '`' + base, capslock: '\u0630' + shift: '\u0651' +} + +key 1 { + label: '1' + base: '\u0661' + shift: '!' + capslock: '1' +} + +key 2 { + label: '2' + base: '\u0662' + shift: '@' + capslock: '2' +} + +key 3 { + label: '3' + base: '\u0663' + shift: '#' + capslock: '3' +} + +key 4 { + label: '4' + base: '\u0664' + shift: '$' + capslock: '4' +} + +key 5 { + label: '5' + base: '\u0665' + shift: '%' + capslock: '5' +} + +key 6 { + label: '6' + base: '\u0666' + shift: '^' + capslock: '6' +} + +key 7 { + label: '7' + base: '\u0667' + shift: '&' + capslock: '7' +} + +key 8 { + label: '8' + base: '\u0668' + shift: '*' + capslock: '8' +} + +key 9 { + label: '9' + base: '\u0669' + shift: '(' + capslock: '9' +} + +key 0 { + label: '0' + base: '\u0660' + shift: ')' + capslock: '0' +} + +key MINUS { + label: '-' + base, capslock: '-' + shift: '_' +} + +key EQUALS { + label: '=' + base, capslock: '=' + shift: '+' +} + +### ROW 2 + +key Q { + label: 'Q' + base, capslock: '\u0636' + shift: '\u064e' +} + +key W { + label: 'W' + base, capslock: '\u0635' + shift: '\u064b' +} + +key E { + label: 'E' + base, capslock: '\u062b' + shift: '\u064f' +} + +key R { + label: 'R' + base, capslock: '\u0642' + shift: '\u064c' +} + +key T { + label: 'T' + base, capslock: '\u0641' + shift: '\ufef9' +} + +key Y { + label: 'Y' + base, capslock: '\u063a' + shift: '\u0625' +} + +key U { + label: 'U' + base, capslock: '\u0639' + shift: '\u2018' +} + +key I { + label: 'I' + base, capslock: '\u0647' + shift: '\u00f7' +} + +key O { + label: 'O' + base, capslock: '\u062e' + shift: '\u00d7' +} + +key P { + label: 'P' + base, capslock: '\u062d' + shift: '\u061b' +} + +key LEFT_BRACKET { + label: '[' + base, capslock: '\u062c' + shift: '<' +} + +key RIGHT_BRACKET { + label: ']' + base, capslock: '\u062f' + shift: '>' +} + +key BACKSLASH { + label: '\\' + base, capslock: '\\' + shift: '|' +} + +### ROW 3 + +key A { + label: 'A' + base, capslock: '\u0634' + shift: '\u0650' +} + +key S { + label: 'S' + base, capslock: '\u0633' + shift: '\u064d' +} + +key D { + label: 'D' + base, capslock: '\u064a' + shift: ']' +} + +key F { + label: 'F' + base, capslock: '\u0628' + shift: '[' +} + +key G { + label: 'G' + base, capslock: '\u0644' + shift: '\ufef7' +} + +key H { + label: 'H' + base, capslock: '\u0627' + shift: '\u0623' +} + +key J { + label: 'J' + base, capslock: '\u062a' + shift: '\u0640' +} + +key K { + label: 'K' + base, capslock: '\u0646' + shift: '\u060c' +} + +key L { + label: 'L' + base, capslock: '\u0645' + shift: '/' +} + +key SEMICOLON { + label: ';' + base, capslock: '\u0643' + shift: ':' +} + +key APOSTROPHE { + label: '\'' + base, capslock: '\u0637' + shift: '"' +} + +### ROW 4 + +key Z { + label: 'Z' + base, capslock: '\u0626' + shift: '~' +} + +key X { + label: 'X' + base, capslock: '\u0621' + shift: '\u0652' +} + +key C { + label: 'C' + base, capslock: '\u0624' + shift: '}' +} + +key V { + label: 'V' + base, capslock: '\u0631' + shift: '{' +} + +key B { + label: 'B' + base, capslock: '\ufefb' + shift: '\ufef5' +} + +key N { + label: 'N' + base, capslock: '\u0649' + shift: '\u0622' +} + +key M { + label: 'M' + base, capslock: '\u0629' + shift: '\u2019' +} + +key COMMA { + label: ',' + base, capslock: '\u0648' + shift: ',' +} + +key PERIOD { + label: '.' + base, capslock: '\u0632' + shift: '.' +} + +key SLASH { + label: '/' + base, capslock: '\u0638' + shift: '\u061f' +} diff --git a/packages/InputDevices/res/raw/keyboard_layout_greek.kcm b/packages/InputDevices/res/raw/keyboard_layout_greek.kcm new file mode 100644 index 0000000..a7684e1 --- /dev/null +++ b/packages/InputDevices/res/raw/keyboard_layout_greek.kcm @@ -0,0 +1,338 @@ +# Copyright (C) 2013 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. + +# +# Greek (EU based) keyboard layout. +# + +type OVERLAY + +map key 86 PLUS + +### ROW 1 + +key GRAVE { + label: '`' + base, capslock: '`' + shift: '~' +} + +key 1 { + label: '1' + base, capslock: '1' + shift: '!' +} + +key 2 { + label: '2' + base, capslock: '2' + shift: '@' + ralt: '\u00b2' +} + +key 3 { + label: '3' + base, capslock: '3' + shift: '#' + ralt: '\u00b3' +} + +key 4 { + label: '4' + base, capslock: '4' + shift: '$' + ralt: '\u00a3' +} + +key 5 { + label: '5' + base, capslock: '5' + shift: '%' + ralt: '\u00a7' +} + +key 6 { + label: '6' + base, capslock: '6' + shift: '^' + ralt: '\u00b6' +} + +key 7 { + label: '7' + base, capslock: '7' + shift: '&' +} + +key 8 { + label: '8' + base, capslock: '8' + shift: '*' + ralt: '\u00a4' +} + +key 9 { + label: '9' + base, capslock: '9' + shift: '(' + ralt: '\u00a6' +} + +key 0 { + label: '0' + base, capslock: '0' + shift: ')' + ralt: '\u00b0' +} + +key MINUS { + label: '-' + base, capslock: '-' + shift: '_' + ralt: '\u00b1' +} + +key EQUALS { + label: '=' + base, capslock: '=' + shift: '+' + ralt: '\u00bd' +} + +### ROW 2 + +key Q { + label: 'Q' + base, capslock: ';' + shift: ':' +} + +key W { + label: 'W' + base, capslock: '\u03c2' + shift: '\u0385' +} + +key E { + label: 'E' + base: '\u03b5' + shift, capslock: '\u0395' + ralt: '\u20ac' +} + +key R { + label: 'R' + base: '\u03c1' + shift, capslock: '\u03a1' + ralt: '\u00ae' +} + +key T { + label: 'T' + base: '\u03c4' + shift, capslock: '\u03a4' +} + +key Y { + label: 'Y' + base: '\u03c5' + shift, capslock: '\u03a5' + ralt: '\u00a5' +} + +key U { + label: 'U' + base: '\u03b8' + shift, capslock: '\u0398' +} + +key I { + label: 'I' + base: '\u03b9' + shift, capslock: '\u0399' +} + +key O { + label: 'O' + base: '\u03bf' + shift, capslock: '\u039f' +} + +key P { + label: 'P' + base: '\u03c0' + shift, capslock: '\u03a0' +} + +key LEFT_BRACKET { + label: '[' + base, capslock: '[' + shift: '{' + ralt: '\u00ab' +} + +key RIGHT_BRACKET { + label: ']' + base, capslock: ']' + shift: '}' + ralt: '\u00bb' +} + +### ROW 3 + +key A { + label: 'A' + base: '\u03b1' + shift, capslock: '\u0391' +} + +key S { + label: 'S' + base: '\u03c3' + shift, capslock: '\u03a3' +} + +key D { + label: 'D' + base: '\u03b4' + shift, capslock: '\u0394' +} + +key F { + label: 'F' + base: '\u03c6' + shift, capslock: '\u03a6' +} + +key G { + label: 'G' + base: '\u03b3' + shift, capslock: '\u0393' +} + +key H { + label: 'H' + base: '\u03b7' + shift, capslock: '\u0397' +} + +key J { + label: 'J' + base: '\u03be' + shift, capslock: '\u039e' +} + +key K { + label: 'K' + base: '\u03ba' + shift, capslock: '\u039a' +} + +key L { + label: 'L' + base: '\u03bb' + shift, capslock: '\u039b' +} + +key SEMICOLON { + label: ';' + base, capslock: '\u0301' +#should be \u0384 (greek tonos) + shift: '\u0308' + ralt: '\u0385' +} + +key APOSTROPHE { + label: '\'' + base, capslock: '\'' + shift: '"' +} + +key BACKSLASH { + label: '\\' + base, capslock: '\\' + shift: '|' + ralt: '\u00ac' +} + +### ROW 4 + +key PLUS { + label: '<' + base, capslock: '<' + shift: '>' + ralt: '\\' + shift+ralt: '|' +} + +key Z { + label: 'Z' + base: '\u03b6' + shift, capslock: '\u0396' +} + +key X { + label: 'X' + base: '\u03c7' + shift, capslock: '\u03a7' +} + +key C { + label: 'C' + base: '\u03c8' + shift, capslock: '\u03a8' + ralt: '\u00a9' +} + +key V { + label: 'V' + base: '\u03c9' + shift, capslock: '\u03a9' +} + +key B { + label: 'B' + base: '\u03b2' + shift, capslock: '\u0392' +} + +key N { + label: 'N' + base: '\u03bd' + shift, capslock: '\u039d' +} + +key M { + label: 'M' + base: '\u03bc' + shift, capslock: '\u039c' +} + +key COMMA { + label: ',' + base, capslock: ',' + shift: '<' +} + +key PERIOD { + label: '.' + base, capslock: '.' + shift: '>' +} + +key SLASH { + label: '/' + base, capslock: '/' + shift: '?' +} diff --git a/packages/InputDevices/res/raw/keyboard_layout_hebrew.kcm b/packages/InputDevices/res/raw/keyboard_layout_hebrew.kcm new file mode 100644 index 0000000..cd3a4b9 --- /dev/null +++ b/packages/InputDevices/res/raw/keyboard_layout_hebrew.kcm @@ -0,0 +1,341 @@ +# Copyright (C) 2013 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. + +# +# Hebrew (based EU) keyboard layout. +# + +type OVERLAY + +map key 86 PLUS + +### ROW 1 + +key GRAVE { + label: '`' + base: ';' + shift: '~' + shift+capslock: '\u05b0' +} + +key 1 { + label: '1' + base: '1' + shift: '!' + shift+capslock: '\u05b1' +} + +key 2 { + label: '2' + base: '2' + shift: '@' + shift+capslock: '\u05b2' +} + +key 3 { + label: '3' + base: '3' + shift: '#' + shift+capslock: '\u05b3' +} + +key 4 { + label: '4' + base: '4' + shift: '$' + ralt: '\u20aa' + shift+capslock: '\u05b4' +} + +key 5 { + label: '5' + base: '5' + shift: '%' + shift+capslock: '\u05b5' +} + +key 6 { + label: '6' + base: '6' + shift: '^' + shift+capslock: '\u05b6' +} + +key 7 { + label: '7' + base: '7' + shift: '&' + shift+capslock: '\u05b7' +} + +key 8 { + label: '8' + base: '8' + shift: '*' + shift+capslock: '\u05b8' +} + +key 9 { + label: '9' + base: '9' + shift: '(' + shift+capslock: '\u05c2' +} + +key 0 { + label: '0' + base: '0' + shift: ')' + shift+capslock: '\u05c1' +} + +key MINUS { + label: '-' + base: '-' + shift: '_' + ralt: '\u05bf' + shift+capslock: '\u05b9' +} + +key EQUALS { + label: '=' + base: '=' + shift: '+' + shift+capslock: '\u05bc' +} + +### ROW 2 + +key Q { + label: 'Q' + base: '/' + shift, capslock: 'Q' +} + +key W { + label: 'W' + base: '\u0027' + shift, capslock: 'W' +} + +key E { + label: 'E' + base: '\u05e7' + shift, capslock: 'E' + ralt: '\u20ac' +} + +key R { + label: 'R' + base: '\u05e8' + shift, capslock: 'R' +} + +key T { + label: 'T' + base: '\u05d0' + shift, capslock: 'T' +} + +key Y { + label: 'Y' + base: '\u05d8' + shift, capslock: 'Y' +} + +key U { + label: 'U' + base: '\u05d5' + shift, capslock: 'U' + ralt: '\u05f0' +} + +key I { + label: 'I' + base: '\u05df' + shift, capslock: 'I' +} + +key O { + label: 'O' + base: '\u05dd' + shift, capslock: 'O' +} + +key P { + label: 'P' + base: '\u05e4' + shift, capslock: 'P' +} + +key LEFT_BRACKET { + label: '[' + base, capslock: '[' + shift: '{' +} + +key RIGHT_BRACKET { + label: ']' + base, capslock: ']' + shift: '}' +} + +### ROW 3 + +key A { + label: 'A' + base: '\u05e9' + shift, capslock: 'A' +} + +key S { + label: 'S' + base: '\u05d3' + shift, capslock: 'S' +} + +key D { + label: 'D' + base: '\u05d2' + shift, capslock: 'D' +} + +key F { + label: 'F' + base: '\u05db' + shift, capslock: 'F' +} + +key G { + label: 'G' + base: '\u05e2' + shift, capslock: 'G' +} + +key H { + label: 'H' + base: '\u05d9' + shift, capslock: 'H' + ralt: '\u05f2' +} + +key J { + label: 'J' + base: '\u05d7' + shift, capslock: 'J' + ralt: '\u05f1' +} + +key K { + label: 'K' + base: '\u05dc' + shift, capslock: 'K' +} + +key L { + label: 'L' + base: '\u05da' + shift, capslock: 'L' +} + +key SEMICOLON { + label: ';' + base: '\u05e3' + shift: ':' + capslock: ';' +} + +key APOSTROPHE { + label: '\'' + base: ',' + shift: '"' + capslock: '\'' +} + +key BACKSLASH { + label: '\\' + base: '\\' + shift: '|' +} + +### ROW 4 + +key PLUS { + label: '\\' + base, capslock: '\\' + shift: '|' +} + +key Z { + label: 'Z' + base: '\u05d6' + shift, capslock: 'Z' +} + +key X { + label: 'X' + base: '\u05e1' + shift, capslock: 'X' +} + +key C { + label: 'C' + base: '\u05d1' + shift, capslock: 'C' +} + +key V { + label: 'V' + base: '\u05d4' + shift, capslock: 'V' +} + +key B { + label: 'B' + base: '\u05e0' + shift, capslock: 'B' +} + +key N { + label: 'N' + base: '\u05de' + shift, capslock: 'N' +} + +key M { + label: 'M' + base: '\u05e6' + shift, capslock: 'M' +} + +key COMMA { + label: ',' + base: '\u05ea' + shift: '<' + capslock: ',' +} + +key PERIOD { + label: '.' + base: '\u05e5' + shift: '>' + capslock: '.' +} + +key SLASH { + label: '/' + base: '.' + shift: '?' + capslock: '/' +} diff --git a/packages/InputDevices/res/raw/keyboard_layout_lithuanian.kcm b/packages/InputDevices/res/raw/keyboard_layout_lithuanian.kcm new file mode 100644 index 0000000..72ca333 --- /dev/null +++ b/packages/InputDevices/res/raw/keyboard_layout_lithuanian.kcm @@ -0,0 +1,338 @@ +# Copyright (C) 2013 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. + +# +# Lithuanian (EU based) keyboard layout. +# + +type OVERLAY + +map key 86 PLUS + +### ROW 1 + +key GRAVE { + label: '`' + base: '`' + shift: '~' +} + +key 1 { + label: '1' + base: '\u0105' + shift, capslock: '\u0104' + ralt: '1' + shift+ralt: '!' +} + +key 2 { + label: '2' + base: '\u010d' + shift, capslock: '\u010c' + ralt: '2' + shift+ralt: '@' +} + +key 3 { + label: '3' + base: '\u0119' + shift, capslock: '\u0118' + ralt: '3' + shift+ralt: '#' +} + +key 4 { + label: '4' + base: '\u0117' + shift, capslock: '\u0116' + ralt: '4' + shift+ralt: '$' +} + +key 5 { + label: '5' + base: '\u012f' + shift, capslock: '\u012e' + ralt: '5' + shift+ralt: '%' +} + +key 6 { + label: '6' + base: '\u0161' + shift, capslock: '\u0160' + ralt: '6' + shift+ralt: '\u0302' +} + +key 7 { + label: '7' + base: '\u0173' + shift, capslock: '\u0172' + ralt: '7' + shift+ralt: '&' +} + +key 8 { + label: '8' + base: '\u016b' + shift, capslock: '\u016a' + ralt: '8' + shift+ralt: '*' +} + +key 9 { + label: '9' + base: '9' + shift: '(' + ralt: '9' +} + +key 0 { + label: '0' + base: '0' + shift: ')' + ralt: '0' +} + +key MINUS { + label: '-' + base: '-' + shift: '_' +} + +key EQUALS { + label: '=' + base: '\u017e' + shift, capslock: '\u017d' + ralt: '=' + shift+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: '[' + base: '[' + shift: '{' +} + +key RIGHT_BRACKET { + label: ']' + base: ']' + 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: ';' + base: ';' + shift: ':' +} + +key APOSTROPHE { + label: '\'' + base: '\'' + shift: '"' +} + +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' +} + +key COMMA { + label: ',' + base: ',' + shift: '<' +} + +key PERIOD { + label: '.' + base: '.' + shift: '>' +} + +key SLASH { + label: '/' + base: '/' + shift: '?' +} diff --git a/packages/InputDevices/res/raw/keyboard_layout_spanish_latin.kcm b/packages/InputDevices/res/raw/keyboard_layout_spanish_latin.kcm new file mode 100644 index 0000000..16eb53f --- /dev/null +++ b/packages/InputDevices/res/raw/keyboard_layout_spanish_latin.kcm @@ -0,0 +1,325 @@ +# Copyright (C) 2013 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. + +# +# Spanish (Latin) (EU based) keyboard layout. +# + +type OVERLAY + +map key 86 PLUS + +### ROW 1 + +key GRAVE { + label: '|' + base: '|' + shift: '\u00ba' + ralt: '\u00ac' +} + +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: '%' +} + +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 MINUS { + label: '\'' + base: '\'' + shift: '?' + ralt: '\\' +} + +key EQUALS { + label: '\u00bf' + base: '\u00bf' + shift: '\u00a1' +} + +### 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' +} + +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: '\u00b4' + base: '\u0301' + shift: '\u0308' + ralt: '[' +} + +key RIGHT_BRACKET { + label: '+' + base: '+' + shift: '*' + 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: '\u00d1' + base: '\u00f1' + shift, capslock: '\u00d1' +} + +key APOSTROPHE { + label: '{' + base: '{' + shift: '[' + ralt: '\u0302' +} + +key BACKSLASH { + label: '}' + base: '}' + shift: ']' + ralt: '\u0300' +} + +### 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 SLASH { + label: '-' + base: '-' + shift: '_' +} diff --git a/packages/InputDevices/res/values/strings.xml b/packages/InputDevices/res/values/strings.xml index 54c18f1..6239336 100644 --- a/packages/InputDevices/res/values/strings.xml +++ b/packages/InputDevices/res/values/strings.xml @@ -98,4 +98,19 @@ Ukrainian + + + Arabic + + + Greek + + + Hebrew + + + Lithuanian + + + Spanish (Latin) diff --git a/packages/InputDevices/res/xml/keyboard_layouts.xml b/packages/InputDevices/res/xml/keyboard_layouts.xml index 1f48a36..dc1db0b 100644 --- a/packages/InputDevices/res/xml/keyboard_layouts.xml +++ b/packages/InputDevices/res/xml/keyboard_layouts.xml @@ -123,4 +123,24 @@ + + + + + + + + + + -- cgit v1.1