2

Я хочу поменять местами клавиши Win и Ctrl на клавиатуре, используя xkeycaps. Это файл .xmodmap, который я загружаю при запуске Ubuntu, сгенерированный с помощью xkeycaps. Он отлично работает для замены клавиш Esc и Caps Lock .

!
! This is an `xmodmap' input file for 
!   PC 105 key, wide Delete, tall Enter (XFree86; Spanish) keyboards.
! Automatically generated on Sun Feb  3 20:58:03 2013 by tirengarfio with
! XKeyCaps 2.47; Copyright (c) 1991-1999 Jamie Zawinski; 2005-2006 Christoph Berg.
! http://www.jwz.org/xkeycaps/
!
! This file presupposes that the keyboard is in the default state, and
! may malfunction if it is not.
!
remove Control = Control_R
remove Mod5    = Mode_switch

keycode 0x09 =  Escape  NoSymbol    Escape
keycode 0x43 =  F1  F1  F1  F1  F1  F1  XF86Switch_VT_1
keycode 0x44 =  F2  F2  F2  F2  F2  F2  XF86Switch_VT_2
keycode 0x45 =  F3  F3  F3  F3  F3  F3  XF86Switch_VT_3
keycode 0x46 =  F4  F4  F4  F4  F4  F4  XF86Switch_VT_4
keycode 0x47 =  F5  F5  F5  F5  F5  F5  XF86Switch_VT_5
keycode 0x48 =  F6  F6  F6  F6  F6  F6  XF86Switch_VT_6
keycode 0x49 =  F7  F7  F7  F7  F7  F7  XF86Switch_VT_7
keycode 0x4A =  F8  F8  F8  F8  F8  F8  XF86Switch_VT_8
keycode 0x4B =  F9  F9  F9  F9  F9  F9  XF86Switch_VT_9
keycode 0x4C =  F10 F10 F10 F10 F10 F10 XF86Switch_VT_10
keycode 0x5F =  F11 F11 F11 F11 F11 F11 XF86Switch_VT_11
keycode 0x60 =  F12 F12 F12 F12 F12 F12 XF86Switch_VT_12
keycode 0x6F =  Up  NoSymbol    Up
keycode 0x4E =  Scroll_Lock NoSymbol    Scroll_Lock
keycode 0x6E =  Home    NoSymbol    Home
keycode 0x31 =  masculine   ordfeminine masculine   ordfeminine backslash   backslash   backslash
keycode 0x0A =  1   exclam  1   exclam  bar exclamdown  bar
keycode 0x0B =  2   quotedbl    2   quotedbl    at  oneeighth   at
keycode 0x0C =  3   periodcentered  3   periodcentered  numbersign  sterling    numbersign
keycode 0x0D =  4   dollar  4   dollar  asciitilde  dollar  asciitilde
keycode 0x0E =  5   percent 5   percent onehalf threeeighths    onehalf
keycode 0x0F =  6   ampersand   6   ampersand   notsign fiveeighths notsign
keycode 0x10 =  7   slash   7   slash   braceleft   seveneighths    braceleft
keycode 0x11 =  8   parenleft   8   parenleft   bracketleft trademark   bracketleft
keycode 0x12 =  9   parenright  9   parenright  bracketright    plusminus   bracketright
keycode 0x13 =  0   equal   0   equal   braceright  degree  braceright
keycode 0x14 =  apostrophe  question    apostrophe  question    backslash   questiondown    backslash
keycode 0x15 =  exclamdown  questiondown    exclamdown  questiondown    dead_tilde  asciitilde  dead_tilde
keycode 0x16 =  BackSpace   BackSpace   BackSpace   BackSpace
keycode 0x6A =  KP_Divide   KP_Divide   KP_Divide   KP_Divide   KP_Divide   KP_Divide   XF86Ungrab
keycode 0x61 =  NoSymbol
keycode 0x63 =  Hiragana    NoSymbol    Hiragana
keycode 0x4D =  Num_Lock    NoSymbol    Num_Lock
keycode 0x70 =  Prior   NoSymbol    Prior
keycode 0x3F =  KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab
keycode 0x52 =  KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode
keycode 0x17 =  Tab ISO_Left_Tab    Tab ISO_Left_Tab
keycode 0x18 =  q   Q   q   Q   at  Greek_OMEGA at
keycode 0x19 =  w   W   w   W   lstroke Lstroke lstroke
keycode 0x1A =  e   E   e   E   EuroSign    cent    EuroSign
keycode 0x1B =  r   R   r   R   paragraph   registered  paragraph
keycode 0x1C =  t   T   t   T   tslash  Tslash  tslash
keycode 0x1D =  y   Y   y   Y   leftarrow   yen leftarrow
keycode 0x1E =  u   U   u   U   downarrow   uparrow downarrow
keycode 0x1F =  i   I   i   I   rightarrow  idotless    rightarrow
keycode 0x20 =  o   O   o   O   oslash  Oslash  oslash
keycode 0x21 =  p   P   p   P   thorn   THORN   thorn
keycode 0x22 =  dead_grave  dead_circumflex dead_grave  dead_circumflex bracketleft dead_abovering  bracketleft
keycode 0x23 =  plus    asterisk    plus    asterisk    bracketright    dead_macron bracketright
keycode 0x24 =  Return  NoSymbol    Return
keycode 0x6B =  Print   Sys_Req Print   Sys_Req
keycode 0x67 =  NoSymbol
keycode 0x69 =  Control_R   NoSymbol    Control_R
keycode 0x4F =  KP_Home KP_7    KP_Home KP_7
keycode 0x50 =  KP_Up   KP_8    KP_Up   KP_8
keycode 0x51 =  KP_Prior    KP_9    KP_Prior    KP_9
keycode 0x56 =  KP_Add  KP_Add  KP_Add  KP_Add  KP_Add  KP_Add  XF86Next_VMode
keycode 0x42 =  Caps_Lock   NoSymbol    Caps_Lock
keycode 0x26 =  a   A   a   A   ae  AE  ae
keycode 0x27 =  s   S   s   S   ssharp  section ssharp
keycode 0x28 =  d   D   d   D   eth ETH eth
keycode 0x29 =  f   F   f   F   dstroke ordfeminine dstroke
keycode 0x2A =  g   G   g   G   eng ENG eng
keycode 0x2B =  h   H   h   H   hstroke Hstroke hstroke
keycode 0x2C =  j   J   j   J   dead_hook   dead_horn   dead_hook
keycode 0x2D =  k   K   k   K   kra ampersand   kra
keycode 0x2E =  l   L   l   L   lstroke Lstroke lstroke
keycode 0x2F =  ntilde  Ntilde  ntilde  Ntilde  asciitilde  dead_doubleacute    asciitilde
keycode 0x30 =  dead_acute  dead_diaeresis  dead_acute  dead_diaeresis  braceleft   braceleft   braceleft
keycode 0x33 =  ccedilla    Ccedilla    ccedilla    Ccedilla    braceright  dead_breve  braceright
keycode 0x53 =  KP_Left KP_4    KP_Left KP_4
keycode 0x54 =  KP_Begin    KP_5    KP_Begin    KP_5
keycode 0x55 =  KP_Right    KP_6    KP_Right    KP_6
keycode 0x32 =  Shift_L NoSymbol    Shift_L
keycode 0x5E =  less    greater less    greater bar brokenbar   bar
keycode 0x34 =  z   Z   z   Z   guillemotleft   less    guillemotleft
keycode 0x35 =  x   X   x   X   guillemotright  greater guillemotright
keycode 0x36 =  c   C   c   C   cent    copyright   cent
keycode 0x37 =  v   V   v   V   leftdoublequotemark leftsinglequotemark leftdoublequotemark
keycode 0x38 =  b   B   b   B   rightdoublequotemark    rightsinglequotemark    rightdoublequotemark
keycode 0x39 =  n   N   n   N   n   N   n
keycode 0x3A =  m   M   m   M   mu  masculine   mu
keycode 0x3B =  comma   semicolon   comma   semicolon   horizconnector  multiply    horizconnector
keycode 0x3C =  period  colon   period  colon   periodcentered  division    periodcentered
keycode 0x3D =  minus   underscore  minus   underscore  dead_belowdot   dead_abovedot   dead_belowdot
keycode 0x3E =  Shift_R NoSymbol    Shift_R
keycode 0x62 =  Katakana    NoSymbol    Katakana
keycode 0x57 =  KP_End  KP_1    KP_End  KP_1
keycode 0x58 =  KP_Down KP_2    KP_Down KP_2
keycode 0x59 =  KP_Next KP_3    KP_Next KP_3
keycode 0x6C =  ISO_Level3_Shift    NoSymbol    ISO_Level3_Shift
keycode 0x25 =  Control_L   NoSymbol    Control_L
keycode 0x73 =  End NoSymbol    End
keycode 0x40 =  Alt_L   Meta_L  Alt_L   Meta_L
keycode 0x41 =  space   NoSymbol    space
keycode 0x71 =  Left    NoSymbol    Left
keycode 0x74 =  Down    NoSymbol    Down
keycode 0x75 =  Linefeed    NoSymbol    Linefeed
keycode 0x6D =  Next    NoSymbol    Next
keycode 0x64 =  Henkan_Mode NoSymbol    Henkan_Mode
keycode 0x68 =  KP_Enter    NoSymbol    KP_Enter
keycode 0x66 =  Muhenkan    NoSymbol    Muhenkan
keycode 0x5A =  KP_Insert   KP_0    KP_Insert   KP_0
keycode 0x5B =  KP_Delete   KP_Decimal  KP_Delete   KP_Decimal

add    Control = Control_R
add    Mod1    = 0x00CD
add    Mod4    = Super_L Super_R 0x00CE 0x00CF
add    Mod5    = ISO_Level3_Shift Mode_switch

1 ответ1

1

Если ваша единственная цель - поменять местами Ctrl и Caps Lock , то создаваемый вами файл может быть немного излишним.

Я использую setxkbmap для изменения макета, так как xmodmap не удалось выполнить настройку на моих различных машинах:

setxkbmap -option rctrl:swapcaps

и я положил это в мой .xinitrc

Также обратите внимание, что при экспериментировании setxkbmap -option сбрасывает все обратно в исходный макет.

РЕДАКТИРОВАТЬ: я нашел это на http://askubuntu.com, который также описывает сброс с помощью setxkbmap

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .