Używam 'windzianej' klawiatury. I Xemacsa.

No i bardzo chciałbym, by zarówno lewy Alt jak lewy 'Windows' działały
jak Alt w programach Gnome/KDE i jako Meta w XEmacsie. Standardowo
jeden jest Altem a drugi Metą (co powoduje, że naciśnięcie Alt-X w
Xemacsie generuje błąđ 'nieznany klawisz A-x' a z kolei Meta-coś w
'normalnym' programie jest ignorowane).

Doczytałem istotną ciekawostkę która czyni powyższe możliwym: otóż
jeśli w keymapie nie ma *żadnego* klawisza Meta, xemacs traktuje Alty
jako Metę.

Do pełni szczęścia brakuje mi więc tylko drobiazgu: przerobienia
klawiatury tak, by lewy Alt i lewa Meta generowały Alt_L a prawy
Windows generował Alt_R (prawy Alt generuje Multi).

Niestety, w xkb/symbols/alt xkb/symbols/altwin czy xkb/symbols/compose
odpowiedniego ustawienia nie znalazłem (są tam opcje typu alt:swapmeta
pozwalające zamienić miejscami ale to nie o to mi chodzi). Stosunkowo
najbliższy tego o co mi chodzi byłby alt:altismeta przy którym to
ustawieniu wszystko działa jak chcę ale ... xemacs generuje przy
starcie ostrzeżenia o klawiszu generującym dwa modyfikatory.

W przypływie straceńczej odwagi, małpując elementy dystrybucji
(nijakiej dokumentacji tego nie udało mi się nigdzie znaleźć)
spłodziłem plik /etc/X11/xkb/symbols/moj_alt o treści

partial modifier_keys
xkb_symbols "mykeys" {
    key <LALT> { [ Alt_L, Alt_L ] };
    key <LWIN> { [ Alt_L, Alt_L ] };
    key <RWIN> { [ Alt_R, Alt_R ] };
    key <MENU> { [ Alt_R, Alt_R ] };
    key <RALT>  { [ Multi_key, Multi_key ] };
};

i spróbowałem napisać w XFree86Config-4 tak:

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xfree86"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "pl"
        Option          "XkbOptions"    "moj_alt:mykeys"
EndSection

Niestety, nie przyniosło to żadnego efektu (wygląda jakby mój wpis
został zignorowany). Wzbudziło to we mnie podejrzenia, że xfree nie
znajduje mojego pliku, w przypływie desperacji dopisałem na końcu
/etc/X11/xkb/symbols.dir

--p----- -m------ moj_alt(mykeys)

(tu już dokumentnie nie wiem o co chodzi, zmałpowałem z innych alt(...))
ale też nie pomogło.

Ktoś ma jakiś pomysł (czy to na rozwiązanie całego problemu, czy też
na ukierunkowanie walk z xfree)?


( Marcin Kasperski   | A reusable framework that is developed by itself will )
( http://www.mk.w.pl |        probably not be very reusable. (Martin)        )
(----------------------------------------------------------------------------)
( Z kartą bezpieczniej? http://www.mk.w.pl/artykuly/karty_niebezpieczenstwa  )

Odpowiedź listem elektroniczym