Ubuntu 14.04 自定义键盘布局不起作用

Ubuntu 14.04 自定义键盘布局不起作用

我花了几个小时尝试让它工作,但我不知道我做错了什么。我必须承认,我对 Ubuntu 还很陌生,所以我可能忽略了一些显而易见的东西。

我在这里读过几个关于同一件事的问题和答案,但没有一个答案能帮助我。

我正在尝试设置自定义键盘布局,因为我来自丹麦,我们有三个可笑的字母(Æ、ø 和 å),我需要时不时地写它们。

我希望能得到一些帮助的是,当我进入这个文件夹时:

/usr/share/X11/xkb/symbols/

并编辑“us”文件,我在其中进行了以下更改:

key <AE05> {    [     5,    percent     ]   };

更改为:

key <AE05> {    [     J,    percent     ]   };

然后我仍然无法改变布局。我这样做只是为了让这个该死的布局做点什么(这样每当我在键盘上按下“5”时它就会写出“J”)。理想情况下,我想映射

  • æ 至ALTGR+a
  • ø 至ALTGR+s
  • å 至ALTGR+d

但我想,如果我甚至无法将“5”改为“J”,那么我应该先让它工作起来。

是的...我使用的是正确版本的英文键盘 - 称为“英语(美国,国际带死键)”。我也尝试修改常规英文键盘(称为“英语(美国)”),但运气也一样差。

以下是来自‘us’文件的布局代码:

partial alphanumeric_keys
  73 xkb_symbols "intl" {
  74 
  75     name[Group1]= "English (US, international with dead keys)";
  76 
  77     include "us(basic)"
  78 
  79     key <TLDE> { [dead_grave, dead_tilde,         grave,       asciitilde ] };
  80     key <AE01> { [     1,     exclam,    exclamdown,      onesuperior ] };
  81     key <AE02> { [     2,         at,   twosuperior, dead_doubleacute ] };
  82     key <AE03> { [     3, numbersign, threesuperior,      dead_macron ] };
  83     key <AE04> { [     4,     dollar,      currency,         sterling ] };
  84     key <AE05> { [     J,    percent,      EuroSign,     dead_cedilla ] };
  85     key <AE06> { [    6, dead_circumflex,    onequarter,      asciicircum ] };
  86     key <AE07> { [     7,  ampersand,       onehalf,    dead_horn ] };
  87     key <AE08> { [     8,   asterisk, threequarters,      dead_ogonek ] };
  88     key <AE09> { [     9,  parenleft, leftsinglequotemark, dead_breve ] };
  89     key <AE10> { [     0, parenright, rightsinglequotemark, dead_abovering ] };
  90     key <AE11> { [     minus, underscore,           yen,    dead_belowdot ] };
  91     key <AE12> { [     equal,       plus,      multiply,         division ] };
  92 
  93     key <AD01> { [     q,          Q,    adiaeresis,       Adiaeresis ] };
  94     key <AD02> { [     w,          W,         aring,            Aring ] };
  95     key <AD03> { [     e,          E,        eacute,           Eacute ] };
  96     key <AD04> { [     r,          R,    registered,       registered ] };
  97     key <AD05> { [     t,          T,         thorn,            THORN ] };
  98     key <AD06> { [     y,          Y,    udiaeresis,       Udiaeresis ] };
  99     key <AD07> { [     u,          U,        uacute,           Uacute ] };
 100     key <AD08> { [     i,          I,        iacute,           Iacute ] };
 101     key <AD09> { [     o,          O,        oacute,           Oacute ] };
 102     key <AD10> { [     p,          P,    odiaeresis,       Odiaeresis ] };
 103     key <AD11> { [ bracketleft,  braceleft,  guillemotleft, leftdoublequotemark ] };
 104     key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
 105 
 106     key <AC01> { [     a,          A,        aacute,           Aacute ] };
 107     key <AC02> { [     s,          S,        ssharp,          section ] };
 108     key <AC03> { [     d,          D,           eth,              ETH ] };
 109     key <AC04> { [     f,          F,             f,                F ] };
 110     key <AC05> { [     g,          G,             g,                G ] };
 111     key <AC06> { [     h,          H,             h,                H ] };
 112     key <AC07> { [     j,          J,             j,                J ] };
 113     key <AC08> { [     k,          K,            oe,               OE ] };
 114 
 115     key <AC09> { [     l,          L,        oslash,         Ooblique ] };
 116     key <AC10> { [ semicolon,      colon,     paragraph,           degree ] };
 117     key <AC11> { [dead_acute, dead_diaeresis, apostrophe,        quotedbl ] };
 118 
 119     key <AB01> { [     z,          Z,            ae,               AE ] };
 120     key <AB02> { [     x,          X,             x,                X ] };
 121     key <AB03> { [     c,          C,     copyright,             cent ] };
 122     key <AB04> { [     v,          V,             v,                V ] };
 123     key <AB05> { [     b,          B,             b,                B ] };
 124     key <AB06> { [     n,          N,        ntilde,           Ntilde ] };
 125     key <AB07> { [     m,          M,            mu,               mu ] };
 126     key <AB08> { [     comma,       less,      ccedilla,         Ccedilla ] };
 127     key <AB09> { [    period,    greater, dead_abovedot,       dead_caron ] };
 128     key <AB10> { [     slash,   question,  questiondown,        dead_hook ] };
 129     key <BKSL> { [ backslash,        bar,       notsign,        brokenbar ] };
 130 
 131     key <LSGT> { [ backslash,   bar,            backslash,      bar ] };
 132 
 133     include "level3(ralt_switch)"
 134 };

答案1

删除 xkb 缓存。

笔记:

要加载布局菜单的更改,只需关闭 gnome-keyboard-preferences 并重新加载,无需重新启动窗口管理器。

Ubuntu 版本 (13.10) 中有一个变化,导致在修改“/usr/share/X11/xkb/symbols”目录中的文件后键盘设置缓存不会刷新。看起来更改没有应用。要强制刷新缓存,应该从“/var/lib/xkb”中删除 *.xkm 文件。参考:如何:自定义键盘布局定义:

sudo rm /var/lib/xkb/*.xkm

或者

sudo dpkg-reconfigure xkb-data

这是对该主题的抄袭:如何添加新的键盘布局(自定义键盘布局定义)

相关内容