summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--geometry/thinkpad204
-rw-r--r--keycodes/xfree866
-rw-r--r--rules/base.lists.part2
-rw-r--r--rules/base.m_g.part1
-rw-r--r--rules/base.m_k.part1
-rw-r--r--rules/base.xml.in7
-rw-r--r--symbols/inet9
8 files changed, 236 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e805184..5ed4aa1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-01-07 Sergey Udaltsov
+
+ * geometry/thinkpad, keycodes/xfree86, rules/base.lists.part,
+ rules/base.m_g.part, rules/base.m_k.part, rules/base.xml.in,
+ symbols/inet: added thinkpad60 model (with geometry),
+ https://bugs.freedesktop.org/show_bug.cgi?id=13954
+
2008-01-05 Sergey Udaltsov
* symbols/us: add (left,right)singlequotemark to us(-altgr)-intl
diff --git a/geometry/thinkpad b/geometry/thinkpad
index c9b769c..0315866 100644
--- a/geometry/thinkpad
+++ b/geometry/thinkpad
@@ -265,3 +265,207 @@ xkb_geometry "intl" {
};
}; // End of "Alpha" section
};
+
+xkb_geometry "60" {
+ width = 290;
+ height = 140;
+ baseColor = "grey80";
+ labelColor = "white";
+
+ shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2, 0], [16, 16] } };
+
+ shape "ESC" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
+ shape "FN0" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
+
+ shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2, 0], [35, 16] } };
+
+ shape "TABK" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
+ shape "BKSL" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
+
+ shape "CAPS" { cornerRadius = 1, { [30.5, 18] }, { [2, 0], [28.5, 16] } };
+ shape "RTRN" { cornerRadius = 1, { [43.5, 18] }, { [2, 0], [41.5, 16] } };
+
+ shape "LFSH" { cornerRadius = 1, { [40, 18] }, { [2, 0], [38, 16] } };
+ shape "RTSH" { cornerRadius = 1, { [53, 18] }, { [2, 0], [51, 16] } };
+
+ shape "LCTL" { cornerRadius = 1, { [21, 18] }, { [2, 0], [19, 16] } };
+ shape "LWIN" { cornerRadius = 1, { [15, 18] }, { [1.5, 0], [13.5, 16] } };
+
+ shape "SPCE" { cornerRadius = 1, { [97, 18] }, { [2, 0], [95, 16] } };
+
+ shape "ARR1" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
+ shape "ARR2" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
+
+ shape "VOL" { cornerRadius = 2.5, { [5, 5] } };
+ shape "TVTG" { cornerRadius = 0.5, { [0, 1], [17, 1], [17, 4], [0, 4] } };
+
+ shape "KEYS" { cornerRadius = 2,
+ { [0, 0], [19, 0], [19, 16], [172, 16],
+ [172, 4], [286, 4], [286, 133], [231, 133],
+ [231, 126], [0, 126] } };
+
+ solid "KeyPanel" {
+ shape = "KEYS";
+ left = 2;
+ top = 3;
+ color = "black";
+ };
+
+ shape "NULL0" { cornerRadius = 0.5,
+ { [0, 26],
+ [72, 26], [72, 14], [76, 14], [76, 26],
+ [149, 26], [149, 14], [153, 14], [153, 26],
+ [226, 26], [226, 2], [230, 2], [230, 26],
+ [284, 26], [284, 27],
+ [0, 27] } };
+
+ solid "NullPanel0" {
+ shape = "NULL0";
+ left = 3;
+ top = 6;
+ color = "grey80";
+ };
+
+ shape "NULL1" { cornerRadius = 0.5, { [0, 12], [17, 12], [17, 13], [0, 13] } };
+
+ solid "NullPanel1" {
+ shape = "NULL1";
+ left = 3;
+ top = 6;
+ color = "grey80";
+ };
+
+ shape "MEDIA" { cornerRadius = 0.5, { [0, 0], [55, 0], [55, 10], [0, 10] } };
+
+ solid "MediaPanel" {
+ shape = "MEDIA";
+ left = 25.5;
+ top = 6;
+ color = "black";
+ };
+
+ section "Volume" {
+ left = 22;
+ top = 8.5;
+ key.shape = "VOL";
+ key.gap = 6;
+ key.color = "grey20";
+
+ row {
+ keys { <MUTE>, <VOL->, <VOL+>, {<I1F>, "TVTG", color = "blue"} };
+ };
+ };
+
+ key.gap = 1;
+ key.color = "grey60";
+
+ section "Function" {
+ left = 2;
+ top = 3;
+ key.shape = "FN0";
+ row {
+ key.shape = "ESC";
+ top = 1;
+ keys { <ESC> };
+ };
+ row {
+ top = 5;
+ keys { { <PRSC>, 173 }, <SCLK>, <PAUS> };
+ };
+ row {
+ top = 17;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 6 }, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Control" {
+ left = 2;
+ top = 109;
+ key.shape = "NORM";
+ row {
+ top = 1;
+ keys { <FN>, { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, <LALT>,
+ { <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
+ };
+ };
+ }; // End of "Control" section
+
+ section "Editing" {
+ top = 7;
+ left = 233;
+ key.shape = "FN0";
+ row {
+ top = 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top = 13;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ }; // End of "Editing" section
+
+ section "Navigation" {
+ top = 109;
+ left = 233;
+ row {
+ key.shape = "ARR1";
+ top = 1;
+ keys { <I6A>, <UP>, <I69> };
+ };
+ row {
+ key.shape = "ARR2";
+ top = 15;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Navigation" section
+
+ shape "STIK" { cornerRadius = 3.5, { [7, 7] } };
+
+ solid "STIK" {
+ priority = 255;
+ color = "red";
+ shape = "STIK";
+ top = 85.5;
+ left = 125.5;
+ };
+
+ section "Alpha" {
+ left = 2;
+ top = 33;
+ key.shape = "NORM";
+ row {
+ top = 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top = 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top = 39;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color = "blue" }
+ };
+ };
+ row {
+ top = 58;
+ keys { { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ }; // End of "Alpha" section
+};
diff --git a/keycodes/xfree86 b/keycodes/xfree86
index 37b1cc6..3253173 100644
--- a/keycodes/xfree86
+++ b/keycodes/xfree86
@@ -415,3 +415,9 @@ xkb_keycodes "abnt2" {
include "xfree86(xfree86)"
<KPPT> = 134;
};
+
+// IBM ThinkPad 60 series
+xkb_keycodes "thinkpad60" {
+ include "xfree86(xfree86)"
+ <MENU> = 227;
+};
diff --git a/rules/base.lists.part b/rules/base.lists.part
index 46e4e0b..4c5df5e 100644
--- a/rules/base.lists.part
+++ b/rules/base.lists.part
@@ -54,7 +54,7 @@
oretec \
presario propeller \
qtronix \
- rapidaccess rapidaccess2 rapidaccess2a thinkpad \
+ rapidaccess rapidaccess2 rapidaccess2a thinkpad thinkpad60 \
samsung4500 samsung4510 \
scorpius silvercrest \
sk1300 sk2500 sk6200 sk7100 sp_inet \
diff --git a/rules/base.m_g.part b/rules/base.m_g.part
index 658878d..114f89c 100644
--- a/rules/base.m_g.part
+++ b/rules/base.m_g.part
@@ -9,6 +9,7 @@
$pcgeometries = pc(%m)
everex = everex(STEPnote)
thinkpad = thinkpad(intl)
+ thinkpad60 = thinkpad(60)
winbook = winbook(XP5)
pc98 = nec(pc98)
$macbooks = macintosh(%m)
diff --git a/rules/base.m_k.part b/rules/base.m_k.part
index d457f78..f0007cb 100644
--- a/rules/base.m_k.part
+++ b/rules/base.m_k.part
@@ -12,4 +12,5 @@
macintosh_old = macintosh(old)
$macbooks = macintosh+macintosh(goodmap)
$macs = macintosh
+ thinkpad60 = xfree86(thinkpad60)
* = xfree86
diff --git a/rules/base.xml.in b/rules/base.xml.in
index 74001be..ec321f8 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -541,6 +541,13 @@
</model>
<model>
<configItem>
+ <name>thinkpad60</name>
+ <_description>IBM ThinkPad R60/T60/Z60m/Z60t/R61/T61/Z61m/Z61t</_description>
+ <vendor>IBM</vendor>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
<name>logiaccess</name>
<_description>Logitech Access Keyboard</_description>
<vendor>Logitech</vendor>
diff --git a/symbols/inet b/symbols/inet
index 1d88196..7c36916 100644
--- a/symbols/inet
+++ b/symbols/inet
@@ -1256,6 +1256,15 @@ xkb_symbols "thinkpad" {
};
+// IBM ThinkPad 60 series
+partial alphanumeric_keys
+xkb_symbols "thinkpad60" {
+ include "inet(media_nav_common)"
+
+ key <I1F> { [ XF86VendorHome ] };
+};
+
+
// Logitech
// Logitech common definitions