Skip to content

Commit

Permalink
Burmese physical keyboard (key character map) for Android.
Browse files Browse the repository at this point in the history
  • Loading branch information
mjansche committed Aug 19, 2016
1 parent e5d3bcf commit 18fb95d
Show file tree
Hide file tree
Showing 5 changed files with 369 additions and 0 deletions.
16 changes: 16 additions & 0 deletions Mymr/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.google.languageresources.mymr">
<!-- API level 16 required for QUERY_KEYBOARD_LAYOUTS. -->
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="24"/>
<application android:label="@string/ime_name">
<receiver android:name=".InputDeviceReceiver"
android:label="@string/keyboard_layouts_label">
<intent-filter>
<action android:name="android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS"/>
</intent-filter>
<meta-data android:name="android.hardware.input.metadata.KEYBOARD_LAYOUTS"
android:resource="@xml/keyboard_layouts"/>
</receiver>
</application>
</manifest>
26 changes: 26 additions & 0 deletions Mymr/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# 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
#
# https://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.
#
# Copyright 2016 Google, Inc.
# Author: [email protected] (Martin Jansche)

package(default_visibility = ["//visibility:public"])

licenses(["notice"]) # Apache 2.0

android_binary(
name = "MyanmarUnicodeKeyboard",
srcs = glob(["src/main/java/**/*.java"]),
custom_package = "com.google.languageresources.mymr",
manifest = "AndroidManifest.xml",
resource_files = glob(["res/**"]),
)
311 changes: 311 additions & 0 deletions Mymr/res/raw/keyboard_layout_burmese.kcm
Original file line number Diff line number Diff line change
@@ -0,0 +1,311 @@
# Copyright 2016 Google Inc. All Rights Reserved.
#
# 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
#
# https://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.

#
# Burmese keyboard layout on top of QWERTY keyboard.
#

type OVERLAY

### ROW 1

key GRAVE {
label: '\u1050'
base: '\u1050'
shift, capslock: '\u100E'
}

key 1 {
label: '\u1041'
base: '\u1041'
shift, capslock: '\u100D'
}

key 2 {
label: '\u1042'
base: '\u1042'
shift, capslock: '\u1052'
}

key 3 {
label: '\u1043'
base: '\u1043'
shift, capslock: '\u100B'
}

key 4 {
label: '\u1044'
base: '\u1044'
shift, capslock: '\u1053'
}

key 5 {
label: '\u1045'
base: '\u1045'
shift, capslock: '\u1054'
}

key 6 {
label: '\u1046'
base: '\u1046'
shift, capslock: '\u1055'
}

key 7 {
label: '\u1047'
base: '\u1047'
shift, capslock: '\u101B'
alt: '\uE01B' # kinzi RA
}

key 8 {
label: '\u1048'
base: '\u1048'
shift: '*'
}

key 9 {
label: '\u1049'
base: '\u1049'
shift: '('
}

key 0 {
label: '\u1040'
base: '\u1040'
shift: ')'
}

key MINUS {
label: '-'
base: '-'
shift: '_'
}

key EQUALS {
label: '='
base: '='
shift: '+'
}

### ROW 2

key Q {
label: '\u1006'
base: '\u1006'
shift, capslock: '\u1008'
}

key W {
label: '\u1010'
base: '\u1010'
shift, capslock: '\u101D'
}

key E {
label: '\u1014'
base: '\u1014'
shift, capslock: '\u1023'
}

key R {
label: '\u1019'
base: '\u1019'
shift, capslock: '\u104E'
}

key T {
label: '\u1021'
base: '\u1021'
shift, capslock: '\u1024'
}

key Y {
label: '\u1015'
base: '\u1015'
shift, capslock: '\u104C'
}

key U {
label: '\u1000'
base: '\u1000'
shift, capslock: '\u1025'
}

key I {
label: '\u1004'
base: '\u1004'
shift, capslock: '\u104D'
alt: '\uE004' # kinzi NGA
}

key O {
label: '\u101E'
base: '\u101E'
shift, capslock: '\u103F'
}

key P {
label: '\u1005'
base: '\u1005'
shift, capslock: '\u100F'
}

key LEFT_BRACKET {
label: '\u101F'
base: '\u101F'
shift: '\u1027'
}

key RIGHT_BRACKET {
label: '\u1029'
base: '\u1029'
shift: '\u102A'
}

key BACKSLASH {
label: '\u104F'
base: '\u104F'
shift: '\u1051'
}

### ROW 3

key A {
label: '\u1031'
base: '\u1031'
shift, capslock: '\u1017'
}

key S {
label: '\u103B'
base: '\u103B'
shift, capslock: '\u103E'
}

key D {
label: '\u102D'
base: '\u102D'
shift, capslock: '\u102E'
}

key F {
label: '\u103A'
base: '\u103A'
shift, capslock: '\u1039'
}

key G {
label: '\u102B'
base: '\u102B'
shift, capslock: '\u103D'
}

key H {
label: '\u1037'
base: '\u1037'
shift, capslock: '\u1036'
}

key J {
label: '\u103C'
base: '\u103C'
shift, capslock: '\u1032'
}

key K {
label: '\u102F'
base: '\u102F'
shift, capslock: '\u1012'
}

key L {
label: '\u1030'
base: '\u1030'
shift, capslock: '\u1013'
}

key SEMICOLON {
label: '\u1038'
base: '\u1038'
shift: '\u1002'
}

key APOSTROPHE {
label: '\''
base: '\''
shift: '"'
}

### ROW 4

key Z {
label: '\u1016'
base: '\u1016'
shift, capslock: '\u1007'
}

key X {
label: '\u1011'
base: '\u1011'
shift, capslock: '\u100C'
}

key C {
label: '\u1001'
base: '\u1001'
shift, capslock: '\u1003'
}

key V {
label: '\u101C'
base: '\u101C'
shift, capslock: '\u1020'
}

key B {
label: '\u1018'
base: '\u1018'
shift, capslock: '\u101A'
}

key N {
label: '\u100A'
base: '\u100A'
shift, capslock: '\u1009'
}

key M {
label: '\u102C'
base: '\u102C'
shift, capslock: '\u1026'
}

key COMMA {
label: ','
base: ','
shift: '\u104A'
}

key PERIOD {
label: '.'
base: '.'
shift: '\u104B'
}

key SLASH {
label: '/'
base: '/'
shift: '?'
}
8 changes: 8 additions & 0 deletions Mymr/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="ime_name">Myanmar Unicode Keyboard</string>

<!-- Keyboard layouts -->
<string name="keyboard_layouts_label">Myanmar Unicode Keyboard</string>
<string name="keyboard_layout_burmese_label">Burmese</string>
</resources>
8 changes: 8 additions & 0 deletions Mymr/res/xml/keyboard_layouts.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<keyboard-layouts xmlns:android="https://schemas.android.com/apk/res/android">
<keyboard-layout
android:name="keyboard_layout_burmese"
android:label="@string/keyboard_layout_burmese_label"
android:keyboardLayout="@raw/keyboard_layout_burmese"
/>
</keyboard-layouts>

0 comments on commit 18fb95d

Please sign in to comment.