From 4e14ef1175a359a5bff31bd2be6be64289ed1a34 Mon Sep 17 00:00:00 2001 From: Tomas Hanak Date: Tue, 8 Dec 2009 12:41:37 +0200 Subject: [PATCH] Enable Maemo keyboards. Signed-off-by: Tomas Hanak Signed-off-by: Rami Ylimaki --- configure.in | 1 + geometry/Makefile.am | 2 +- geometry/nokia | 53 ++++++++++++++++++++++++++++++++++++++++ rules/base.lists.part | 3 ++ rules/base.m_g.part | 1 + rules/base.m_k.part | 1 + rules/base.m_t.part | 1 + rules/base.ml1_s.part | 2 + rules/base.ml_s.part | 4 +++ rules/base.mlv_s.part | 1 + symbols/Makefile.am | 2 +- symbols/nokia_vndr/Makefile.am | 6 ++++ types/Makefile.am | 2 +- types/nokia | 14 ++++++++++ 14 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 geometry/nokia create mode 100644 symbols/nokia_vndr/Makefile.am create mode 100644 types/nokia diff --git a/configure.in b/configure.in index 74cd522..1843567 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 { { , "NORM", color="grey20" }, + , , , , , + , , , , , , + { , "NORM", color="grey20" } + }; + }; + row { + top= 19.5; + keys { { , "NORM", color="grey20" }, + , , , , , + , , , , , , + { , "NORM", color="grey20" } + }; + }; + row { + top= 34.5; + keys { { , "NORM", color="grey20" }, + , , , , , , , + { , "SPCE", color="white" }, + , , + }; + }; + }; // End of "Keys" section + +}; // End of "rx51" geometry diff --git a/rules/base.lists.part b/rules/base.lists.part index d1927c5..7baeb5a 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 a925bfa..3c26649 100644 --- a/rules/base.m_g.part +++ b/rules/base.m_g.part @@ -19,4 +19,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"; + }; + +}; -- 1.6.0.4