diff --git a/rules/base.ml1_s.part b/rules/base.ml1_s.part index 7f63e2e..bef256b 100644 --- a/rules/base.ml1_s.part +++ b/rules/base.ml1_s.part @@ -2,9 +2,9 @@ amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1]) sun4 * = latin+sun_vndr/us(sun4)+%l[1]%(v[1]) sun5 * = latin+sun_vndr/us(sun5)+%l[1]%(v[1]) - macintosh_old us = macintosh_vndr/us(extended) - macintosh_old $macvendorlayouts = macintosh_vndr/us(extended)+macintosh_vndr/%l[1]%(v[1]) - macintosh_old * = macintosh_vndr/us(extended)+%l[1]%(v[1]) + macintosh_old us = macintosh_vndr/us(oldmac) + 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(pc105)+macintosh_vndr/%l[1]%(v[1]) $pcmodels * = pc(%m)+%l[1]%(v[1]) * * = pc(pc105)+%l[1]%(v[1]) diff --git a/rules/base.ml_s.part b/rules/base.ml_s.part index f3156ed..ad2111c 100644 --- a/rules/base.ml_s.part +++ b/rules/base.ml_s.part @@ -8,11 +8,11 @@ sun5 * = latin+sun_vndr/us(sun5)+%l%(v) pc98 nec_vndr/jp = nec_vndr/jp(pc98) abnt2 br = pc(pc104)+br - macintosh_old us = macintosh_vndr/us(extended) - macintosh_old en_US = macintosh_vndr/us(extended) - macintosh_old $macvendorlayouts = macintosh_vndr/us(extended)+macintosh_vndr/%l%(v) - macintosh_old $nonlatin = macintosh_vndr/us(extended)+%l%(v):2 - macintosh_old * = macintosh_vndr/us(extended)+%l%(v) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old en_US = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v) + macintosh_old $nonlatin = macintosh_vndr/us(oldmac)+%l%(v):2 + macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v) $macbooks * = pc(pc105)+%l%(v) $macs en_US = pc(pc105)+macintosh_vndr/us(extended) $macs $macvendorlayouts = pc(pc105)+macintosh_vndr/%l%(v) diff --git a/symbols/macintosh_vndr/apple b/symbols/macintosh_vndr/apple index 0a1d844..3887caf 100644 --- a/symbols/macintosh_vndr/apple +++ b/symbols/macintosh_vndr/apple @@ -42,19 +42,13 @@ xkb_symbols "laptop" { // the fn-keypad, so use the Enter key (right of ) for Mode_switch, // and use fn+Enter (Apple's code for Menu) for KP_Enter. replace key { [ ISO_Level3_Shift ] }; - modifier_map Mod2 { ISO_Level3_Shift }; + modifier_map Mod5 { ISO_Level3_Shift }; // Linux kernel bug with Menu on macs means this doesn't work yet // replace key { [ KP_Enter ] }; // should be keycode 117 }; partial modifier_keys xkb_symbols "laptop_bad_switch" { + // Kept for backward compatibility include "macintosh_vndr/apple(laptop)" - - // Before XFree86 4.3, most keymaps were configured to generate the - // third-level shift from the second group as opposed to the third-level - // of the first group. These keymaps require this mapping to work as - // expected. - replace key { [ Mode_switch ] }; - modifier_map Mod2 { Mode_switch }; }; diff --git a/symbols/macintosh_vndr/ch b/symbols/macintosh_vndr/ch index 7034746..54d0683 100644 --- a/symbols/macintosh_vndr/ch +++ b/symbols/macintosh_vndr/ch @@ -68,6 +68,7 @@ xkb_symbols "extended" { key { [ dollar, sterling, paragraph, enfilledcircbullet ] }; include "keypad(comma)" + include "level3(ralt_switch)" }; partial alphanumeric_keys @@ -97,5 +98,5 @@ xkb_symbols "fr" { partial alphanumeric_keys xkb_symbols "nodeadkeys" { - include "macintosh_vndr/fr_CH" // for consistent naming + include "macintosh_vndr/ch(fr)" // for consistent naming }; diff --git a/symbols/macintosh_vndr/de b/symbols/macintosh_vndr/de index a44f8bf..dadcf22 100644 --- a/symbols/macintosh_vndr/de +++ b/symbols/macintosh_vndr/de @@ -9,6 +9,8 @@ xkb_symbols "basic" { // Describes the differences between a very simple US/ASCII // keyboard and a very simple German keybaord + include "latin" + // Alphanumeric section name[Group1]= "German"; key { [ dead_circumflex, degree, notsign ] }; @@ -53,12 +55,8 @@ xkb_symbols "basic" { key { [ numbersign, apostrophe, dead_grave ] }; include "keypad(comma)" + include "level3(ralt_switch)" - // begin modifier mappings -// modifier_map Shift { Shift_L }; -// modifier_map Lock { Caps_Lock }; -// modifier_map Control{ Control_L }; -// modifier_map Mod3 { Mode_switch }; }; partial alphanumeric_keys diff --git a/symbols/macintosh_vndr/dk b/symbols/macintosh_vndr/dk index 364453f..1110385 100644 --- a/symbols/macintosh_vndr/dk +++ b/symbols/macintosh_vndr/dk @@ -7,6 +7,8 @@ xkb_symbols "basic" { // keyboard and a Danish keyboard with dead key support // and all of ISO-8859-1 characters available. + include "latin" + name[Group1]= "Danish"; key { [ onehalf, section, threequarters, paragraph ]}; @@ -41,9 +43,9 @@ xkb_symbols "basic" { key { [ dead_acute, dead_grave, bar, brokenbar ]}; key { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ]}; - // End alphanumeric section + include "level3(ralt_switch)" }; diff --git a/symbols/macintosh_vndr/es b/symbols/macintosh_vndr/es index ce789cd..ca04917 100644 --- a/symbols/macintosh_vndr/es +++ b/symbols/macintosh_vndr/es @@ -5,6 +5,8 @@ xkb_symbols "basic" { // Describes the differences between a very simple mac_US // keyboard and a very simple Spanish keybaord + include "latin" + name[Group1]= "Spanish"; key { [ bracketleft, bracketright, braceleft, braceright ] }; @@ -33,4 +35,5 @@ xkb_symbols "basic" { // End alphanumeric section + include "level3(ralt_switch)" }; diff --git a/symbols/macintosh_vndr/fr b/symbols/macintosh_vndr/fr index 88c9089..7526924 100644 --- a/symbols/macintosh_vndr/fr +++ b/symbols/macintosh_vndr/fr @@ -41,9 +41,7 @@ xkb_symbols "extended" { key { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash key { [ parenright, degree, braceright, bracketright ] }; key { [ minus, underscore, emdash, endash ] }; // CHECK dashes - key { [ BackSpace, VoidSymbol, Delete, VoidSymbol ] }; - key { [ Tab, ISO_Left_Tab ] }; key { [ a, A, ae, AE ] }; key { [ z, Z, Acircumflex, Aring ] }; key { [ e, E, ecircumflex, Ecircumflex ] }; @@ -57,7 +55,6 @@ xkb_symbols "extended" { key { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] }; key { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9 - key { [ Caps_Lock ] }; key { [ q, Q, acircumflex, Agrave ] }; key { [ s, S, Ograve, VoidSymbol ] }; key { [ d, D, VoidSymbol, VoidSymbol ] }; @@ -70,7 +67,6 @@ xkb_symbols "extended" { key { [ m, M, mu, Oacute ] }; key { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille key { [ dead_grave, sterling, at, numbersign ] }; - key { [ Return ] }; key { [ less, greater, VoidSymbol, VoidSymbol ] }; key { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket) @@ -87,49 +83,6 @@ xkb_symbols "extended" { key { [ space, space, nobreakspace, nobreakspace ] }; // End alphanumeric section - // Begin modifier mappings - key { [ Alt_L, Meta_L ] }; - key { [ Shift_L ] }; - key { [ Control_L ] }; - key { [ Mode_switch ] }; - key { [ Meta_R ] }; - key { [ Shift_R ] }; - key { [ Control_R ] }; - key { [ script_switch ] }; - // End modifier mappings - - // Begin "Function" section - key { [ F1 ] }; - key { [ F2 ] }; - key { [ F3 ] }; - key { [ F4 ] }; - key { [ F5 ] }; - key { [ F6 ] }; - key { [ F7 ] }; - key { [ F8 ] }; - key { [ F9 ] }; - key { [ F10 ] }; - key { [ F11 ] }; - key { [ F12 ] }; - key { [ F13, Print ] }; - key { [ F14, Scroll_Lock ] }; - key { [ F15, Pause ] }; - // End "Function" section - - // Begin "Editing" section - key { [ Insert ] }; - key { [ Home ] }; - key { [ Prior ] }; - key { [ Delete ] }; - key { [ End ] }; - key { [ Next ] }; - - key { [ Up ] }; - key { [ Left ] }; - key { [ Down ] }; - key { [ Right ] }; - // End "Editing" section - // Begin "Keypad" section key { [ Clear ] }; key { [ KP_Equal ] }; @@ -155,15 +108,7 @@ xkb_symbols "extended" { key { [ comma,KP_Decimal ] }; // End "Keypad" section - - // begin modifier mappings - modifier_map Shift { Shift_L, Shift_R }; - modifier_map Lock { Caps_Lock }; - modifier_map Control{ Control_L, Control_R }; - modifier_map Mod1 { Meta_L, Meta_R }; - modifier_map Mod2 { Alt_L, Alt_R }; - modifier_map Mod3 { Mode_switch }; - // end modifier mappings + include "level3(ralt_switch)" }; diff --git a/symbols/macintosh_vndr/gb b/symbols/macintosh_vndr/gb index faa12d2..5a9b40a 100644 --- a/symbols/macintosh_vndr/gb +++ b/symbols/macintosh_vndr/gb @@ -6,13 +6,15 @@ xkb_symbols "basic" { // Describes the differences between a very simple en_US // keyboard and a very simple U.K. keyboard layout + include "latin" name[Group1]= "Great Britain"; - key { [ 3, sterling, numbersign ] }; + key { [ 3, sterling, numbersign ] }; // End alphanumeric section + include "level3(ralt_switch)" }; diff --git a/symbols/macintosh_vndr/is b/symbols/macintosh_vndr/is index e4e8548..0f8636f 100644 --- a/symbols/macintosh_vndr/is +++ b/symbols/macintosh_vndr/is @@ -118,23 +118,7 @@ xkb_symbols "basic" { key { [ period, colon, greaterthanequal,guillemotright ] }; key { [ thorn, Thorn, U2019, U201d ] }; - // Special keys and modifiers - key { [ Alt_L, Meta_L ] }; - key { [ Shift_L ] }; - key { [ Control_L ] }; - key { [ Mode_switch ] }; - key { [ Meta_R ] }; - key { [ Shift_R ] }; - key { [ Control_R ] }; - key { [ script_switch ] }; - - // And now to map those modifiers ... - modifier_map Shift { Shift_L, Shift_R }; - modifier_map Lock { Caps_Lock }; - modifier_map Control { Control_L, Control_R }; - modifier_map Mod1 { Meta_L, Meta_R }; - //modifier_map Mod2 { Alt_L, Alt_R }; - modifier_map Mod3 { Mode_switch }; + include "level3(ralt_switch)" }; partial alphanumeric_keys diff --git a/symbols/macintosh_vndr/it b/symbols/macintosh_vndr/it index d7e6ba2..b369055 100644 --- a/symbols/macintosh_vndr/it +++ b/symbols/macintosh_vndr/it @@ -61,5 +61,6 @@ xkb_symbols "extended" { key { [ KP_Decimal , KP_Delete ] }; // End "Keypad" section + include "level3(ralt_switch)" }; diff --git a/symbols/macintosh_vndr/nl b/symbols/macintosh_vndr/nl index 888a65c..e6fbd07 100644 --- a/symbols/macintosh_vndr/nl +++ b/symbols/macintosh_vndr/nl @@ -5,8 +5,12 @@ xkb_symbols "basic" { // Describes the differences between a very simple mac_US // keyboard and a very simple netherland keybaord + include "latin" + name[Group1]= "Netherland"; + include "level3(ralt_switch)" + // do just nothing }; diff --git a/symbols/macintosh_vndr/no b/symbols/macintosh_vndr/no index 85e5f69..1469a4c 100644 --- a/symbols/macintosh_vndr/no +++ b/symbols/macintosh_vndr/no @@ -6,6 +6,8 @@ xkb_symbols "basic" { // Describes the differences between a very simple en_US // keyboard and a very simple Norwegian keybaord + include "latin" + name[Group1]= "Norwegian"; key { [ bar, section ] }; @@ -32,6 +34,7 @@ xkb_symbols "basic" { // End alphanumeric section + include "level3(ralt_switch)" }; diff --git a/symbols/macintosh_vndr/pt b/symbols/macintosh_vndr/pt index 6c4553a..5071a73 100644 --- a/symbols/macintosh_vndr/pt +++ b/symbols/macintosh_vndr/pt @@ -8,6 +8,8 @@ xkb_symbols "basic" { // Describes the differences between a very simple en_US // keyboard and a very simple Portuguese keybaord + include "latin" + name[Group1]= "Portuguese"; key { [ less, greater, bar, brokenbar ] }; @@ -31,6 +33,7 @@ xkb_symbols "basic" { key { [ dead_acute, dead_grave ] }; // End alphanumeric section + include "level3(ralt_switch)" }; partial alphanumeric_keys diff --git a/symbols/macintosh_vndr/se b/symbols/macintosh_vndr/se index 37d1fc8..de05337 100644 --- a/symbols/macintosh_vndr/se +++ b/symbols/macintosh_vndr/se @@ -6,6 +6,8 @@ xkb_symbols "basic" { // Describes the differences between a very simple en_US // keyboard and a very simple Swedish(Sweden) keybaord + include "latin" + name[Group1]= "Swedish"; key { [ section, degree ] }; @@ -32,6 +34,7 @@ xkb_symbols "basic" { key { [ less, greater, bar, brokenbar ] }; include "keypad(comma)" + include "level3(ralt_switch)" }; diff --git a/symbols/macintosh_vndr/us b/symbols/macintosh_vndr/us index a6f972a..f896ed7 100644 --- a/symbols/macintosh_vndr/us +++ b/symbols/macintosh_vndr/us @@ -67,38 +67,6 @@ xkb_symbols "extended" { key { [ space ] }; // End alphanumeric section - // Begin "Function" section - key { [ F1 ] }; - key { [ F2 ] }; - key { [ F3 ] }; - key { [ F4 ] }; - key { [ F5 ] }; - key { [ F6 ] }; - key { [ F7 ] }; - key { [ F8 ] }; - key { [ F9 ] }; - key { [ F10 ] }; - key { [ F11 ] }; - key { [ F12 ] }; - key { [ Print ] }; - key { [ Scroll_Lock ] }; - key { [ Pause ] }; - // End "Function" section - - // Begin "Editing" section - key { [ Insert ] }; - key { [ Home ] }; - key { [ Prior ] }; - key { [ Delete ] }; - key { [ End ] }; - key { [ Next ] }; - - key { [ Up ] }; - key { [ Left ] }; - key { [ Down ] }; - key { [ Right ] }; - // End "Editing" section - // Begin "Keypad" section key { [ Num_Lock, Pointer_EnableKeys ] }; key { [ equal ] }; @@ -124,27 +92,6 @@ xkb_symbols "extended" { key { [ KP_Decimal, KP_Delete ] }; // End "Keypad" section - // Begin "Modifier" section - key { [ Shift_L ] }; - key { [ Shift_R ] }; - key { [ Control_L ] }; - key { [ Control_R ] }; - key { [ Alt_L, Meta_L ] }; - key { [ Alt_R, Meta_R ] }; - key { [ Super_L ] }; - key { [ Super_R ] }; - // End "Modifier" section - - // begin modifier mappings - modifier_map Shift { Shift_L , Shift_R }; - modifier_map Lock { Caps_Lock }; - modifier_map Control{ Control_L, Control_R }; - modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; - modifier_map Mod2 { Num_Lock }; - modifier_map Mod4 { Super_L, Super_R }; - modifier_map Mod5 { Scroll_Lock }; - // end modifier mappings - include "compose(rwin)" include "macintosh_vndr/apple(extended)" @@ -202,3 +149,77 @@ xkb_symbols "extended" { // modifier_map Mod3 { Mode_switch }; }; + +hidden +xkb_symbols "oldmac" { + + include "macintosh_vndr/us(extended)" + + // Begin "Function" section + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; + key { [ F12 ] }; + key { [ Print ] }; + key { [ Scroll_Lock ] }; + key { [ Pause ] }; + // End "Function" section + + // Begin "Editing" section + key { [ Insert ] }; + key { [ Home ] }; + key { [ Prior ] }; + key { [ Delete ] }; + key { [ End ] }; + key { [ Next ] }; + + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; + // End "Editing" section + + // Begin "Modifier" section + key { [ Shift_L ] }; + key { [ Shift_R ] }; + key { [ Control_L ] }; + key { [ Control_R ] }; + key { [ Alt_L, Meta_L ] }; + key { [ Alt_R, Meta_R ] }; + key { [ Super_L ] }; + key { [ Super_R ] }; + // End "Modifier" section + + // begin modifier mappings + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock, ISO_Lock }; + modifier_map Control{ Control_L, Control_R }; + modifier_map Mod2 { Num_Lock }; + + // Fake keys for virtual<->real modifiers mapping + key { [ ISO_Level3_Shift ] }; + key { [ Mode_switch ] }; + modifier_map Mod5 { , }; + + key { [ NoSymbol, Alt_L ] }; + modifier_map Mod1 { , }; + + key { [ NoSymbol, Meta_L ] }; + modifier_map Mod1 { }; + + key { [ NoSymbol, Super_L ] }; + modifier_map Mod4 { }; + + key { [ NoSymbol, Hyper_L ] }; + modifier_map Mod4 { }; + // end modifier mappings + +};