From 4608f10849fbd1e423487d7b82d38a0834bca5b1 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Tue, 22 Sep 2015 15:51:22 -0700 Subject: Add layout and keymap for Pixel C Bluetooth keyboard This adds special layout and character map for Pixel C keyboard (Dragon base) that lacks several keys, such as ESC, bracket keys, tilda and backslash, which are mapped various Alt-R combinations. Currently we map: [Shift]+AltR+2 -> ~ and ` [Shift]+AltR+O -> { and [ [Shift]+AltR+P -> } and ] [Shift]+AltR+= -> | and \ ESC mapping requires additional changes. Bug: 24504154 Change-Id: I24fc68efe7e2ddebee26a273838443b441491857 --- data/keyboards/Vendor_18d1_Product_5018.kcm | 320 ++++++++++++++++++++++++++++ data/keyboards/Vendor_18d1_Product_5018.kl | 84 ++++++++ 2 files changed, 404 insertions(+) create mode 100644 data/keyboards/Vendor_18d1_Product_5018.kcm create mode 100644 data/keyboards/Vendor_18d1_Product_5018.kl (limited to 'data') diff --git a/data/keyboards/Vendor_18d1_Product_5018.kcm b/data/keyboards/Vendor_18d1_Product_5018.kcm new file mode 100644 index 0000000..ddcac75 --- /dev/null +++ b/data/keyboards/Vendor_18d1_Product_5018.kcm @@ -0,0 +1,320 @@ +# Copyright (C) 2015 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. + +# +# Key character map for Google Pixel C Keyboard +# + +type FULL + +### Basic QWERTY keys ### + +key A { + label: 'A' + base: 'a' + shift, capslock: 'A' +} + +key B { + label: 'B' + base: 'b' + shift, capslock: 'B' +} + +key C { + label: 'C' + base: 'c' + shift, capslock: 'C' + alt: '\u00e7' + shift+alt: '\u00c7' +} + +key D { + label: 'D' + base: 'd' + shift, capslock: 'D' +} + +key E { + label: 'E' + base: 'e' + shift, capslock: 'E' + alt: '\u0301' +} + +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 I { + label: 'I' + base: 'i' + shift, capslock: 'I' + alt: '\u0302' +} + +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 M { + label: 'M' + base: 'm' + shift, capslock: 'M' +} + +key N { + label: 'N' + base: 'n' + shift, capslock: 'N' + alt: '\u0303' +} + +key O { + label: 'O' + base: 'o' + shift, capslock: 'O' + ralt: '[' + ralt+shift: '{' +} + +key P { + label: 'P' + base: 'p' + shift, capslock: 'P' + ralt: ']' + ralt+shift: '}' +} + +key Q { + label: 'Q' + base: 'q' + shift, capslock: 'Q' +} + +key R { + label: 'R' + base: 'r' + shift, capslock: 'R' +} + +key S { + label: 'S' + base: 's' + shift, capslock: 'S' + alt: '\u00df' +} + +key T { + label: 'T' + base: 't' + shift, capslock: 'T' +} + +key U { + label: 'U' + base: 'u' + shift, capslock: 'U' + alt: '\u0308' +} + +key V { + label: 'V' + base: 'v' + shift, capslock: 'V' +} + +key W { + label: 'W' + base: 'w' + shift, capslock: 'W' +} + +key X { + label: 'X' + base: 'x' + shift, capslock: 'X' +} + +key Y { + label: 'Y' + base: 'y' + shift, capslock: 'Y' +} + +key Z { + label: 'Z' + base: 'z' + shift, capslock: 'Z' +} + +key 0 { + label: '0' + base: '0' + shift: ')' +} + +key 1 { + label: '1' + base: '1' + shift: '!' +} + +key 2 { + label: '2' + base: '2' + shift: '@' + ralt: '`' + ralt+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: '^' + alt+shift: '\u0302' +} + +key 7 { + label: '7' + base: '7' + shift: '&' +} + +key 8 { + label: '8' + base: '8' + shift: '*' +} + +key 9 { + label: '9' + base: '9' + shift: '(' +} + +key SPACE { + label: ' ' + base: ' ' + alt, meta: fallback SEARCH + ctrl: fallback LANGUAGE_SWITCH +} + +key ENTER { + label: '\n' + base: '\n' +} + +key TAB { + label: '\t' + base: '\t' +} + +key COMMA { + label: ',' + base: ',' + shift: '<' +} + +key PERIOD { + label: '.' + base: '.' + shift: '>' +} + +key SLASH { + label: '/' + base: '/' + shift: '?' +} + +key MINUS { + label: '-' + base: '-' + shift: '_' +} + +key EQUALS { + label: '=' + base: '=' + shift: '+' + ralt: '\\' + ralt+shift: '|' +} + +key SEMICOLON { + label: ';' + base: ';' + shift: ':' +} + +key APOSTROPHE { + label: '\'' + base: '\'' + shift: '"' +} + +### Non-printing keys ### + +key ESCAPE { + base: fallback BACK + alt, meta: fallback HOME + ctrl: fallback MENU +} diff --git a/data/keyboards/Vendor_18d1_Product_5018.kl b/data/keyboards/Vendor_18d1_Product_5018.kl new file mode 100644 index 0000000..e95ccb5 --- /dev/null +++ b/data/keyboards/Vendor_18d1_Product_5018.kl @@ -0,0 +1,84 @@ +# Copyright (C) 2015 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. + +# +# Key layout for Google Pixel C Keyboard +# + +# Row 1 +key 2 1 +key 3 2 +key 4 3 +key 5 4 +key 6 5 +key 7 6 +key 8 7 +key 9 8 +key 10 9 +key 11 0 +key 12 MINUS +key 14 DEL # Backspace + +# Row 2 +key 15 TAB +key 16 Q +key 17 W +key 18 E +key 19 R +key 20 T +key 21 Y +key 22 U +key 23 I +key 24 O +key 25 P +key 13 EQUALS +key 28 ENTER + +# Row 3 +key 125 META_LEFT # "Search key" +key 30 A +key 31 S +key 32 D +key 33 F +key 34 G +key 35 H +key 36 J +key 37 K +key 38 L +key 39 SEMICOLON +key 40 APOSTROPHE + +# Row 4 +key 42 SHIFT_LEFT +key 44 Z +key 45 X +key 46 C +key 47 V +key 48 B +key 49 N +key 50 M +key 51 COMMA +key 52 PERIOD +key 53 SLASH +key 54 SHIFT_RIGHT + +# Row 5 +key 29 CTRL_LEFT +key 56 ALT_LEFT +key 57 SPACE +key 100 ALT_RIGHT +key 103 DPAD_UP +key 105 DPAD_LEFT +key 106 DPAD_RIGHT +key 108 DPAD_DOWN -- cgit v1.1 From a43a96be9e66ed5d0b8d70080a1c4fdd137a2acc Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Tue, 22 Sep 2015 18:07:20 -0700 Subject: Add ESC mapping for Pixel C keyboard Now that we have "replace" key event support in the framework we can map ESC as AltR+1. Bug: 24504154 Change-Id: Ief8a50098fc5484171011f268ffc22a309cbba62 --- data/keyboards/Vendor_18d1_Product_5018.kcm | 1 + 1 file changed, 1 insertion(+) (limited to 'data') diff --git a/data/keyboards/Vendor_18d1_Product_5018.kcm b/data/keyboards/Vendor_18d1_Product_5018.kcm index ddcac75..0ca85a2 100644 --- a/data/keyboards/Vendor_18d1_Product_5018.kcm +++ b/data/keyboards/Vendor_18d1_Product_5018.kcm @@ -197,6 +197,7 @@ key 1 { label: '1' base: '1' shift: '!' + ralt: replace ESCAPE } key 2 { -- cgit v1.1