2012-04-08 8 views

Odpowiedz

6

Poniżej znajduje się moja .Xmodmap. Nie implementuje dokładnie twojej specyfikacji, ale powinna dać ci pomysł, jak to osiągnąć. Tylko Sec-2 powinien wymagać modyfikacji w twoim przypadku; zakładając, że twoja klawiatura jest podobna do mojej, będziesz potrzebował tylko 1 linii w tej sekcji: keycode 108 = Alt_R, ponieważ Alt_L jest już rozpoznany jako Meta_L przez X-serwer.

Oto moja .Xmodmap który sprawia, że ​​wszystkie modyfikatory rozpoznawanych przez Emacs dostępnych (alt, Meta, Super Hyper, kontroli, zmiana):

!!! Implement the following layout: 
!!!  Alt A S D F ... 
!!!  Shift Z  X C V B N M ... 
!!!  Hyper Super Meta --Space-- Control Super Hyper 

!!! by transforming from the conventional layout: 
!!!  Caps:66 
!!!  Shift 
!!!  Ctrl:37 Win:133 Alt:64 Space AltGr:108 Menu:135 Ctrl:105 

!! Sec-1. 
clear Control 
clear Lock 
clear mod1 
clear mod2 
clear mod3 
clear mod4 
clear mod5 

!! Sec-2. System dependent; use xev to find the exact keycodes: 
keycode 37 = Hyper_L 
keycode 64 = Meta_L 
keycode 66 = Alt_L 
keycode 105 = Hyper_R 
keycode 108 = Control_R 
keycode 135 = Super_R 

!! Sec-3. 
add Control = Control_L Control_R 
add mod1 = Meta_L Meta_R 
add mod2 = Hyper_L Hyper_R 
add mod3 = Num_Lock 
add mod4 = Alt_L Alt_R Multi_key 
add mod5 = Super_L Super_R Mode_switch 
1

Oto mój obecny .xmodmaprc może użyć trochę pracy, ale ilustruje, w jaki sposób zmieniałbyś określone klucze z różnymi modyfikatorami (używając słowa kluczowego ksysym). Odrzucam cedillę (hiszpańska klawiatura) i umieszczam tam między innymi slash/backslash.

pointer = 3 2 1 4 5 6 7 8 9 10 

clear Mod4 
remove Lock = Caps_Lock 
remove Control = Control_L 
remove Mod5 = ISO_Level3_Shift 

keysym ccedilla = slash backslash NoSymbol NoSymbol braceright 
keysym 3 = 3 numbersign NoSymbol NoSymbol periodcentered 
keysym 1 = 1 exclam NoSymbol NoSymbol masculine 

keysym 0xba = bar 
! the next one is neccesary becuase the above command 
! modifies the m key too! 
keysym 0x6d = m 

keysym Control_L = Super_L 
keysym Caps_Lock = Control_L 
keysym ISO_Level3_Shift = Hyper_L 
keysym Super_L = ISO_Level3_Shift 

add Lock = Caps_Lock 
add Control = Control_L 
add Mod4 = Super_L 
add Mod4 = Super_R 
add Mod3 = Hyper_L 
add Mod3 = Hyper_R 
add Mod5 = ISO_Level3_Shift 
Powiązane problemy