2012-04-08 9 views

Respuesta

6

A continuación se muestra mi .Xmodmap. No implementa exactamente su especificación, pero debe darle una idea de cómo lograrlo. Solo Sec-2 debería necesitar modificaciones en su caso; suponiendo que su teclado es similar al mío, solo necesitará 1 línea en esta sección: keycode 108 = Alt_R, ya que Alt_L ya es reconocido como Meta_L por el servidor X.

Aquí es mi .Xmodmap que hace que todos los modificadores reconocidos por Emacs disponible (Alt, Meta, super, hiper, Control, Shift):

!!! 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

Aquí está mi .xmodmaprc actual, se puede utilizar un poco de trabajo, pero ilustra cómo irías cambiando claves específicas con diferentes modificadores (usando la palabra clave ksysym). Descarto el cedilla (teclado español) y coloco una barra/barra invertida allí, entre otras cosas.

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 
Cuestiones relacionadas