Enable Maemo keyboards.
authorTomas Hanak <ext-tomas.3.hanak@nokia.com>
Tue, 8 Dec 2009 10:41:37 +0000 (12:41 +0200)
committerSergey V. Udaltsov <svu@gnome.org>
Fri, 11 Dec 2009 00:46:48 +0000 (00:46 +0000)
Signed-off-by: Tomas Hanak <ext-tomas.3.hanak@nokia.com>
Signed-off-by: Rami Ylimaki <ext-rami.ylimaki@nokia.com>
14 files changed:
configure.in
geometry/Makefile.am
geometry/nokia [new file with mode: 0644]
rules/base.lists.part
rules/base.m_g.part
rules/base.m_k.part
rules/base.m_t.part
rules/base.ml1_s.part
rules/base.ml_s.part
rules/base.mlv_s.part
symbols/Makefile.am
symbols/nokia_vndr/Makefile.am [new file with mode: 0644]
types/Makefile.am
types/nokia [new file with mode: 0644]

index 0a32a3f..898a81f 100644 (file)
@@ -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
index ff1f8c7..84619fb 100644 (file)
@@ -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 (file)
index 0000000..5132840
--- /dev/null
@@ -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
index a264bc5..27f081f 100644 (file)
@@ -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
 
index badbf82..289a376 100644 (file)
@@ -20,4 +20,5 @@
  $macs         =       macintosh(macintosh)
   hhk          =       hhk(basic)
   kinesis      =       kinesis(model100)
+ $nokiamodels  =       nokia(%m)
   *            =       pc(pc104)
index 30534f7..dd0c391 100644 (file)
@@ -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)
index 4548d26..d67750c 100644 (file)
@@ -1,2 +1,3 @@
   $macs                =       complete+numpad(mac)
+  $nokiamodels =       complete+nokia
   *            =       complete
index 6a0787d..6d5f570 100644 (file)
@@ -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])
index c5fed0b..1c16b6b 100644 (file)
   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)
index df4eef2..1eecc55 100644 (file)
@@ -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)
index 472a399..d22d6c3 100644 (file)
@@ -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 (file)
index 0000000..71200ec
--- /dev/null
@@ -0,0 +1,6 @@
+symbolsdir = $(xkb_base)/symbols/nokia_vndr
+
+dist_symbols_DATA = \
+rx-44 \
+rx-51 \
+su-8w
index 43bd2c6..6da3ccb 100644 (file)
@@ -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 (file)
index 0000000..f77d886
--- /dev/null
@@ -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";
+    };
+
+};