summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Hanak <ext-tomas.3.hanak@nokia.com>2009-12-08 12:41:37 +0200
committerSergey V. Udaltsov <svu@gnome.org>2009-12-11 00:46:48 +0000
commit1a66970b811207c563b0437c90c1d1909f87af14 (patch)
tree8e5ea59894d371ac5eb6932eb3158ca9a1e81984
parent1e558aac1ccdde730c3f7b88c07818e21ae7eaa0 (diff)
Enable Maemo keyboards.
Signed-off-by: Tomas Hanak <ext-tomas.3.hanak@nokia.com> Signed-off-by: Rami Ylimaki <ext-rami.ylimaki@nokia.com>
-rw-r--r--configure.in1
-rw-r--r--geometry/Makefile.am2
-rw-r--r--geometry/nokia53
-rw-r--r--rules/base.lists.part3
-rw-r--r--rules/base.m_g.part1
-rw-r--r--rules/base.m_k.part1
-rw-r--r--rules/base.m_t.part1
-rw-r--r--rules/base.ml1_s.part2
-rw-r--r--rules/base.ml_s.part4
-rw-r--r--rules/base.mlv_s.part1
-rw-r--r--symbols/Makefile.am2
-rw-r--r--symbols/nokia_vndr/Makefile.am6
-rw-r--r--types/Makefile.am2
-rw-r--r--types/nokia14
14 files changed, 90 insertions, 3 deletions
diff --git a/configure.in b/configure.in
index 0a32a3f..898a81f 100644
--- a/configure.in
+++ b/configure.in
@@ -75,6 +75,7 @@ symbols/fujitsu_vndr/Makefile
symbols/hp_vndr/Makefile
symbols/macintosh_vndr/Makefile
symbols/nec_vndr/Makefile
+symbols/nokia_vndr/Makefile
symbols/sgi_vndr/Makefile
symbols/sony_vndr/Makefile
symbols/sun_vndr/Makefile
diff --git a/geometry/Makefile.am b/geometry/Makefile.am
index ff1f8c7..84619fb 100644
--- a/geometry/Makefile.am
+++ b/geometry/Makefile.am
@@ -6,7 +6,7 @@ dist_geom_DATA = \
amiga ataritt chicony \
dell everex fujitsu \
hhk hp keytronic kinesis \
-macintosh microsoft nec \
+macintosh microsoft nec nokia \
northgate pc sony thinkpad \
sun typematrix winbook README
diff --git a/geometry/nokia b/geometry/nokia
new file mode 100644
index 0000000..5132840
--- /dev/null
+++ b/geometry/nokia
@@ -0,0 +1,53 @@
+// Zoomed 3x because of text size
+
+default xkb_geometry "nokiarx51" {
+
+ description= "Nokia RX-51";
+ width= 273; // 13x6mm + 2x1.5mm border + 2x5mm border
+ height= 54; // 3x5mm + 2x1.5mm border
+
+ shape.cornerRadius= 1.5;
+ shape "NORM" { { [18,15] } };
+ shape "SPCE" { { [36,15] } };
+ shape "FRAME" { cornerRadius= 2.5, { [243,54] } };
+
+ solid "FRAME" {
+ shape= "FRAME";
+ color= "white";
+ top= 0;
+ left= 15;
+ };
+
+ section.left= 15;
+ row.left= 4.5;
+ key.shape= "NORM";
+ key.gap= 0;
+ section "Keys" {
+ top= 0;
+ row {
+ top= 4.5;
+ keys { { <LCTL>, "NORM", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AB08>,
+ { <BKSP>, "NORM", color="grey20" }
+ };
+ };
+ row {
+ top= 19.5;
+ keys { { <RALT>, "NORM", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AB09>, <UP>,
+ { <RTRN>, "NORM", color="grey20" }
+ };
+ };
+ row {
+ top= 34.5;
+ keys { { <LFSH>, "NORM", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>, <AB07>,
+ { <SPCE>, "SPCE", color="white" },
+ <LEFT>, <DOWN>, <RGHT>
+ };
+ };
+ }; // End of "Keys" section
+
+}; // End of "rx51" geometry
diff --git a/rules/base.lists.part b/rules/base.lists.part
index a264bc5..27f081f 100644
--- a/rules/base.lists.part
+++ b/rules/base.lists.part
@@ -11,6 +11,9 @@
// Microsoft models (using MS geometry)
! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose
+// Nokia devices and keyboards
+! $nokiamodels = nokiasu8w nokiarx44 nokiarx51
+
// PC geometries - they have special geometry but symbols are mostly pc105
! $pcgeometries = latitude
diff --git a/rules/base.m_g.part b/rules/base.m_g.part
index badbf82..289a376 100644
--- a/rules/base.m_g.part
+++ b/rules/base.m_g.part
@@ -20,4 +20,5 @@
$macs = macintosh(macintosh)
hhk = hhk(basic)
kinesis = kinesis(model100)
+ $nokiamodels = nokia(%m)
* = pc(pc104)
diff --git a/rules/base.m_k.part b/rules/base.m_k.part
index 30534f7..dd0c391 100644
--- a/rules/base.m_k.part
+++ b/rules/base.m_k.part
@@ -6,6 +6,7 @@
sun6euro = sun(type6tuv_usb)
pc98 = xfree98(pc98)
evdev = evdev
+ $nokiamodels = evdev
olpc = evdev
macintosh_hhk = macintosh(hhk)
macintosh_old = macintosh(old)
diff --git a/rules/base.m_t.part b/rules/base.m_t.part
index 4548d26..d67750c 100644
--- a/rules/base.m_t.part
+++ b/rules/base.m_t.part
@@ -1,2 +1,3 @@
$macs = complete+numpad(mac)
+ $nokiamodels = complete+nokia
* = complete
diff --git a/rules/base.ml1_s.part b/rules/base.ml1_s.part
index 6a0787d..6d5f570 100644
--- a/rules/base.ml1_s.part
+++ b/rules/base.ml1_s.part
@@ -6,5 +6,7 @@
macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1])
macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1])
$macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1])
+ nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
+ nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l[1]%_v[1])
$thinkpads br = pc+%l[1](thinkpad)
* * = pc+%l[1]%(v[1])
diff --git a/rules/base.ml_s.part b/rules/base.ml_s.part
index c5fed0b..1c16b6b 100644
--- a/rules/base.ml_s.part
+++ b/rules/base.ml_s.part
@@ -21,6 +21,10 @@
macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v)
$macs en_US = pc+macintosh_vndr/us(extended)
$macs $macvendorlayouts = pc+macintosh_vndr/%l%(v)
+ nokiarx44 * = nokia_vndr/rx-44(%l)
+ nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty)
+ nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v)
+ nokiasu8w * = nokia_vndr/su-8w(%l)
olpc $olpclayouts = olpc+%l%(m)
olpc * = olpc+%l%(v)
$thinkpads br = pc+br(thinkpad)
diff --git a/rules/base.mlv_s.part b/rules/base.mlv_s.part
index df4eef2..1eecc55 100644
--- a/rules/base.mlv_s.part
+++ b/rules/base.mlv_s.part
@@ -1,3 +1,4 @@
classmate us intl = pc+us(classmate-intl)
classmate us alt-intl = pc+us(classmate-alt-intl)
classmate us altgr-intl = pc+us(classmate-altgr-intl)
+ nokiarx51 cz qwerty = nokia_vndr/rx-51(cz_qwerty)
diff --git a/symbols/Makefile.am b/symbols/Makefile.am
index 472a399..d22d6c3 100644
--- a/symbols/Makefile.am
+++ b/symbols/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = digital_vndr fujitsu_vndr hp_vndr macintosh_vndr nec_vndr sgi_vndr sony_vndr sun_vndr xfree68_vndr extras
+SUBDIRS = digital_vndr fujitsu_vndr hp_vndr macintosh_vndr nec_vndr nokia_vndr sgi_vndr sony_vndr sun_vndr xfree68_vndr extras
symbolsdir = $(xkb_base)/symbols
dist_symbols_DATA = \
diff --git a/symbols/nokia_vndr/Makefile.am b/symbols/nokia_vndr/Makefile.am
new file mode 100644
index 0000000..71200ec
--- /dev/null
+++ b/symbols/nokia_vndr/Makefile.am
@@ -0,0 +1,6 @@
+symbolsdir = $(xkb_base)/symbols/nokia_vndr
+
+dist_symbols_DATA = \
+rx-44 \
+rx-51 \
+su-8w
diff --git a/types/Makefile.am b/types/Makefile.am
index 43bd2c6..6da3ccb 100644
--- a/types/Makefile.am
+++ b/types/Makefile.am
@@ -3,7 +3,7 @@ typesdir = $(xkb_base)/types
dist_types_DATA = \
basic cancel caps \
complete default extra \
-iso9995 level5 mousekeys numpad \
+iso9995 level5 mousekeys nokia numpad \
pc README
dir_data = $(dist_types_DATA)
diff --git a/types/nokia b/types/nokia
new file mode 100644
index 0000000..f77d886
--- /dev/null
+++ b/types/nokia
@@ -0,0 +1,14 @@
+partial default xkb_types "default" {
+
+ // Some types that are used by Nokia devices and keyboard.
+ virtual_modifiers LevelThree;
+
+ type "PC_FN_LEVEL2" {
+ modifiers = LevelThree;
+ map[None] = Level1;
+ map[LevelThree] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Fn";
+ };
+
+};