From 8d15934d9b73e659d3a377d83b90e509126dea11 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Wed, 2 Nov 2011 04:51:30 +0000 Subject: [PATCH] Add US and international keyboard layout files for ThinkPad, ThinkPad T400s, ThinkPad X1 and ThinkPad X100e keyboards. The name of these layout files correspond to the model that introduced them and should cover every US and international laptop made by IBM and Lenovo except Japanese (and perhaps some other Asian locale) versions. Like the Apple Aluminum keyboard layouts these are neatly tucked away in a ThinkPad submenu in the Keymap preference app. Removed the 'IBM Laptop International' keyboard layout file which has been superseded by 'ThinkPad International'. Closes #8021 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43094 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/HaikuImage | 20 ++++++++++++- .../KeyboardLayouts/ThinkPad/ThinkPad (US) | 27 +++++++++++++++++ .../ThinkPad International} | 6 ++-- .../ThinkPad/ThinkPad T400s (US) | 28 ++++++++++++++++++ .../ThinkPad/ThinkPad T400s International | 27 +++++++++++++++++ .../KeyboardLayouts/ThinkPad/ThinkPad X1 (US) | 28 ++++++++++++++++++ .../ThinkPad/ThinkPad X1 International | 28 ++++++++++++++++++ .../ThinkPad/ThinkPad X100e (US) | 26 +++++++++++++++++ .../ThinkPad/ThinkPad X100e International | 29 +++++++++++++++++++ 9 files changed, 215 insertions(+), 4 deletions(-) create mode 100644 data/system/data/KeyboardLayouts/ThinkPad/ThinkPad (US) rename data/system/data/KeyboardLayouts/{IBM Laptop International => ThinkPad/ThinkPad International} (80%) create mode 100644 data/system/data/KeyboardLayouts/ThinkPad/ThinkPad T400s (US) create mode 100644 data/system/data/KeyboardLayouts/ThinkPad/ThinkPad T400s International create mode 100644 data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X1 (US) create mode 100644 data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X1 International create mode 100644 data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X100e (US) create mode 100644 data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X100e International diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index d594b2bf15..352d4ae721 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -505,7 +505,6 @@ local keyboardLayoutsDir local keyboardLayoutFiles = "Generic 104-key" "Generic 105-key International" - "IBM Laptop International" "Kinesis Advantage" "Kinesis Ergo Elan International" "TypeMatrix 2030" ; @@ -530,6 +529,25 @@ SEARCH on $(appleAluminumFiles) = $(appleAluminumDir) ; AddFilesToHaikuImage system data KeyboardLayouts Apple\ Aluminum : $(appleAluminumFiles) ; +# Add ThinkPad keyboard layout files to the image in a ThinkPad +# subdirectory. The subdirectory is turned into a submenu in the Layout menu +# of the Keymap preference app. +local thinkpadDir + = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ; +local thinkPadFiles = + "ThinkPad (US)" + "ThinkPad International" + "ThinkPad T400s (US)" + "ThinkPad T400s International" + "ThinkPad X1 (US)" + "ThinkPad X1 International" + "ThinkPad X100e (US)" + "ThinkPad X100e International" ; +thinkPadFiles = $(thinkPadFiles:G=keyboard-layout) ; +SEARCH on $(thinkPadFiles) = $(thinkpadDir) ; +AddFilesToHaikuImage system data KeyboardLayouts ThinkPad + : $(thinkPadFiles) ; + local driverSettingsFiles = kernel ; SEARCH on $(driverSettingsFiles) = [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ; diff --git a/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad (US) b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad (US) new file mode 100644 index 0000000000..5dc834fc13 --- /dev/null +++ b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad (US) @@ -0,0 +1,27 @@ +name = ThinkPad (US) + +# Size shortcuts +default-size = 18,18 +$s = 17,10 +$gap = 6,10 +$sgap = 5,10 +$backspace = 38,18 +$tab = 28,18 +$caps = 32,18 +$enter = d42,18 +$lshift = 41,18 +$rshift = 51,18 +$lctrl = 23,18 +$option = 13,18 +$space = 95,18 + +# Key rows +[ 0,0; $s:0x01; 148,10:-; $s:0x0e+2; $sgap:-; $s:0x1f+2; ] +[ 0,10; $s:0x02+3; $gap:-; $s:+4; $gap:-; $s:+4; $sgap:-; $s:0x34+2; ] +[ 0,20; :0x11+12; $backspace:+1; ] +[ 0,38; $tab:0x26; :+12; 28,18:+1; ] +[ 0,56; $caps:0x3b; :+11; $enter:0x47; ] +[ 0,74; $lshift:0x4b; :0x4c+9; $rshift:+1 ] +[ 0,92; :-; $lctrl:0x5c; $option:0x66; :0x5d; $space:+1; + :+1; :0x68; :0x60; $s:0x9a; $s:0x57; $s:0x9b ] +[ 221,102; $s:0x61+2; ] diff --git a/data/system/data/KeyboardLayouts/IBM Laptop International b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad International similarity index 80% rename from data/system/data/KeyboardLayouts/IBM Laptop International rename to data/system/data/KeyboardLayouts/ThinkPad/ThinkPad International index b595f9c934..f98e71dea0 100644 --- a/data/system/data/KeyboardLayouts/IBM Laptop International +++ b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad International @@ -1,4 +1,4 @@ -name = IBM Laptop International +name = ThinkPad International # Size shortcuts default-size = 18,18 @@ -17,10 +17,10 @@ $space = 95,18 # Key rows [ 0,0; $s:0x01; 148,10:-; $s:0x0e+2; $sgap:-; $s:0x1f+2; ] [ 0,10; $s:0x02+3; $gap:-; $s:+4; $gap:-; $s:+4; $sgap:-; $s:0x34+2; ] -[ 0,20; :0x11+12; $backspace:+1 ] +[ 0,20; :0x11+12; $backspace:+1; ] [ 0,38; $tab:0x26; :+12; $enter:0x47; ] [ 0,56; $caps:0x3b; :+11; :0x33 ] [ 0,74; $l-shift-ctrl:0x4b; :0x69; :0x4c+9; $r-shift:+1 ] -[ 0,92; :0x99; $l-shift-ctrl:0x5c; $option:0x66; :0x5d; $space:+1; +[ 0,92; :-; $l-shift-ctrl:0x5c; $option:0x66; :0x5d; $space:+1; :+1; :0x68; :0x60; $s:0x9a; $s:0x57; $s:0x9b ] [ 221,102; $s:0x61+2; ] diff --git a/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad T400s (US) b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad T400s (US) new file mode 100644 index 0000000000..aad37c6d72 --- /dev/null +++ b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad T400s (US) @@ -0,0 +1,28 @@ +name = ThinkPad T400s (US) + +# Size shortcuts +default-size = 18,18 +$s = 16,10 +$sdouble = 16,20 +$gap = 4,10 +$backspace = 38,18 +$tab = 28,18 +$caps = 32,18 +$enter = d42,18 +$lshift = 41,18 +$rshift = 51,18 +$lctrl = 23,18 +$option = 13,18 +$space = 95,18 +$arrow = 17,10 + +# Key rows +[ 0,0; $sdouble:0x01; 140,10:-; $s:0x0e+2; $s:0x1f; $gap:-; $sdouble:0x34; $s:0x20+1; ] +[ 0,10; 20,10:-; $s:0x02+3; $gap:-; $s:+4; $gap:-; $s:+4; 20,10:-; $s:0x35+1; ] +[ 0,20; :0x11+12; $backspace:+1; ] +[ 0,38; $tab:0x26; :+12; 28,18:+1; ] +[ 0,56; $caps:0x3b; :+11; $enter:0x47; ] +[ 0,74; $lshift:0x4b; :0x4c+9; $rshift:+1 ] +[ 0,92; :-; $lctrl:0x5c; $option:0x66; :0x5d; $space:+1; + :+1; :0x68; :0x60; $arrow:0x9a; $arrow:0x57; $arrow:0x9b ] +[ 221,102; $arrow:0x61+2; ] diff --git a/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad T400s International b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad T400s International new file mode 100644 index 0000000000..ca0d5b6998 --- /dev/null +++ b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad T400s International @@ -0,0 +1,27 @@ +name = ThinkPad T400s International + +# Size shortcuts +default-size = 18,18 +$s = 16,10 +$sdouble = 16,20 +$gap = 4,10 +$backspace = 38,18 +$tab = 28,18 +$caps = 32,18 +$enter = dl28,36,22 +$l-shift-ctrl = 23,18 +$r-shift = 51,18 +$option = 13,18 +$space = 95,18 +$arrow = 17,10 + +# Key rows +[ 0,0; $sdouble:0x01; 140,10:-; $s:0x0e+2; $s:0x1f; $gap:-; $sdouble:0x34; $s:0x20+1; ] +[ 0,10; 20,10:-; $s:0x02+3; $gap:-; $s:+4; $gap:-; $s:+4; 20,10:-; $s:0x35+1; ] +[ 0,20; :0x11+12; $backspace:+1; ] +[ 0,38; $tab:0x26; :+12; $enter:0x47; ] +[ 0,56; $caps:0x3b; :+11; :0x33 ] +[ 0,74; $l-shift-ctrl:0x4b; :0x69; :0x4c+9; $r-shift:+1 ] +[ 0,92; :-; $l-shift-ctrl:0x5c; $option:0x66; :0x5d; $space:+1; + :+1; :0x68; :0x60; $arrow:0x9a; $arrow:0x57; $arrow:0x9b ] +[ 221,102; $arrow:0x61+2; ] diff --git a/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X1 (US) b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X1 (US) new file mode 100644 index 0000000000..88c2e4e902 --- /dev/null +++ b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X1 (US) @@ -0,0 +1,28 @@ +name = ThinkPad X1 (US) + +# Size shortcuts +default-size = 18,18 +$s = 15,10 +$s2 = 23.5,10 +$backspace = 38,18 +$tab = 28,18 +$caps = 32,18 +$enter = d42,18 +$lshift = 42,18 +$rshift = 50,18 +$lctrl = 24,20 +$bottom = 18,20 +$space = 90,20 +$sarrow = 16,10 +$arrow = 18,10 + +# Key rows +[ 0,0; $s2:0x01; $s:+12; $s:0x20; $s:0x35; $s:0x1f; $s2:0x34; ] +[ 0,10; :0x11+12; $backspace:+1; ] +[ 0,28; $tab:0x26; :+12; 28,18:+1; ] +[ 0,46; $caps:0x3b; :+11; $enter:0x47; ] +[ 0,64; $lshift:0x4b; :0x4c+9; $rshift:+1 ] +[ 0,82; $bottom:-; $lctrl:0x5c; $bottom:0x66; $bottom:0x5d; $space:+1; + $bottom:+1; $bottom:0x0e; $bottom:0x60; $sarrow:0x21; $arrow:0x57; + $sarrow:0x36; ] +[ 222,92; $sarrow:0x61; $arrow:0x62; $sarrow:0x63; ] diff --git a/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X1 International b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X1 International new file mode 100644 index 0000000000..f00efe05ec --- /dev/null +++ b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X1 International @@ -0,0 +1,28 @@ +name = ThinkPad X1 International + +# Size shortcuts +default-size = 18,18 +$s = 15,10 +$s2 = 23.5,10 +$backspace = 38,18 +$tab = 28,18 +$caps = 32,18 +$enter = dl28,36,22 +$lshift = 24,18 +$rshift = 50,18 +$lctrl = 24,20 +$bottom = 18,20 +$space = 90,20 +$sarrow = 16,10 +$arrow = 18,10 + +# Key rows +[ 0,0; $s2:0x01; $s:+12; $s:0x20; $s:0x35; $s:0x1f; $s2:0x34; ] +[ 0,10; :0x11+12; $backspace:+1; ] +[ 0,28; $tab:0x26; :+12; $enter:0x47; ] +[ 0,46; $caps:0x3b; :+11; :0x33 ] +[ 0,64; $lshift:0x4b; :0x69; :0x4c+9; $rshift:+1 ] +[ 0,82; $bottom:-; $lctrl:0x5c; $bottom:0x66; $bottom:0x5d; $space:+1; + $bottom:+1; $bottom:0x0e; $bottom:0x60; $sarrow:0x21; $arrow:0x57; + $sarrow:0x36; ] +[ 222,92; $sarrow:0x61; $arrow:0x62; $sarrow:0x63; ] diff --git a/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X100e (US) b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X100e (US) new file mode 100644 index 0000000000..ebf9a24273 --- /dev/null +++ b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X100e (US) @@ -0,0 +1,26 @@ +name = ThinkPad X100e (US) + +# Size shortcuts +default-size = 19,18 +$s = 15.5,10 +$gap = 2.125,10 +$backspace = 25,18 +$tab = 25,18 +$caps = 32,18 +$enter = d31,18 +$shift = 41,18 +$bottom = 19,20 +$space = 105,20 +$sarrow = 17,10 +$arrow = 19,10 + +# Key rows +[ 0,0; $s:0x01; $gap:-; $s:+4; $gap:-; $s:+4; $gap:-; $s:+4; $gap:-; $s:0x1f; + $s:0x34; $s:0x20; $s:0x35; ] +[ 0,10; :0x11+12; $backspace:+1; ] +[ 0,28; $tab:0x26; :+13; ] +[ 0,46; $caps:0x3b; :+11; $enter:0x47; ] +[ 0,64; $shift:0x4b; :0x4c+9; $shift:+1 ] +[ 0,82; $bottom:-; $bottom:0x5c; $bottom:0x66; $bottom:0x5d; $space:+1; + $bottom:+1; $bottom:0x60; 17,9:0x21; $arrow:0x57; 17,9:0x36; ] +[ 219,92; $sarrow:0x61; $arrow:0x62; $sarrow:0x63; ] diff --git a/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X100e International b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X100e International new file mode 100644 index 0000000000..8161f73977 --- /dev/null +++ b/data/system/data/KeyboardLayouts/ThinkPad/ThinkPad X100e International @@ -0,0 +1,29 @@ +name = ThinkPad X100e International + +# Size shortcuts +default-size = 19,18 +$s = 15.5,10 +$gap = 2.125,10 +$backspace = 25,18 +$tab = 27,18 +$caps = 33,18 +$small = 16,18 +$enter = dl23,36,15 +$lshift = 22,18 +$rshift = 41,18 +$bottom = 19,20 +$space = 105,20 +$sarrow = 17,10 +$arrow = 19,10 + +# Key rows +[ 0,0; $s:0x01; $gap:-; $s:+4; $gap:-; $s:+4; $gap:-; $s:+4; $gap:-; $s:0x1f; + $s:0x34; $s:0x20; $s:0x35; ] +[ 0,10; :0x11+12; $backspace:+1; ] +[ 0,28; $tab:0x26; :+10; $small:+1; $small:+1; $enter:0x47; ] +[ 0,46; $caps:0x3b; :+10; $small:+1; $small:0x33; ] +[ 0,64; $lshift:0x4b; :0x69; :0x4c+9; $rshift:+1; ] +[ 0,82; $bottom:-; $bottom:0x5c; $bottom:0x66; $bottom:0x5d; $space:+1; + $bottom:+1; $bottom:0x60; 17,9:0x21; $arrow:0x57; + 17,9:0x36; ] +[ 219,92; $sarrow:0x61; $arrow:0x62; $sarrow:0x63; ]