如何设置自定义键盘布局?

如何设置自定义键盘布局?

Shift我希望可以设计自己的键盘布局(为每个键指定符号,以防单独按下、与或与 一起按下时输入AltGr),并将其设置在 XUbuntu 11.04 系统中的所有其他布局中。如何做到这一点?

答案1

Ubuntu 10.10

我使用具有美式和泰式布局的本地键盘。
布局us对我来说没问题,但我喜欢添加一些德语字符,例如äöü ÄÖÜ 这可以轻松实现xmodmap,但如果您切换到第二种布局,您将观察到一些奇怪的结果。

我找到了一个很好的解决方案:创建并使用您的自定义键盘!

  1. /usr/share/X11/xkb/symbols/ 选择您最接近的偏好,就我而言us ,然后用新名称保存:us-de

  2. 删除任何你不需要的内容,并更改任何你喜欢的内容。我的文件为us-de

    default
    xkb_symbols "basic" {
    
    name[Group1]= "ASCII with german";
    
    // Alphanumeric section
    key <TLDE> { [ grave, asciitilde ] };
    key <AE01> { [ 1, exclam ] };
    key <AE02> { [ 2, at, twosuperior ] };
    key <AE03> { [ 3, numbersign, threesuperior ] };
    key <AE04> { [ 4, dollar, onequarter ] };
    key <AE05> { [ 5, percent, onehalf ] };
    key <AE06> { [ 6, asciicircum, threequarters ] };
    key <AE07> { [ 7, ampersand ] };
    key <AE08> { [ 8, asterisk, oneeighth ] };
    key <AE09> { [ 9, parenleft ] };
    key <AE10> { [ 0, parenright, degree ] };
    key <AE11> { [ minus, underscore ] };
    key <AE12> { [ equal, plus ] };
    
    key <AD01> { [ q, Q ] };
    key <AD02> { [ w, W ] };
    key <AD03> { [ e, E, EuroSign, cent ] };
    key <AD04> { [ r, R ] };
    key <AD05> { [ t, T ] };
    key <AD06> { [ y, Y ] };
    key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
    key <AD08> { [ i, I ] };
    key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
    key <AD10> { [ p, P ] };
    key <AD11> { [ bracketleft, braceleft ] };
    key <AD12> { [ bracketright, braceright ] };
    
    key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
    key <AC02> { [ s, S ] };
    key <AC03> { [ d, D ] };
    key <AC04> { [ f, F ] };
    key <AC05> { [ g, G ] };
    key <AC06> { [ h, H ] };
    key <AC07> { [ j, J ] };
    key <AC08> { [ k, K ] };
    key <AC09> { [ l, L ] };
    key <AC10> { [ semicolon, colon ] };
    key <AC11> { [ apostrophe, quotedbl ] };
    
    key <AB01> { [ z, Z ] };
    key <AB02> { [ x, X ] };
    key <AB03> { [ c, C ] };
    key <AB04> { [ v, V ] };
    key <AB05> { [ b, B ] };
    key <AB06> { [ n, N ] };
    key <AB07> { [ m, M, mu ] };
    key <AB08> { [ comma, less ] };
    key <AB09> { [ period, greater ] };
    key <AB10> { [ slash, question ] };
    
    key <BKSL> { [ backslash, bar ] };
    key <CAPS> { [ VoidSymbol ] };
    
    // End alphanumeric section
    include "level3(ralt_switch)"
    };
    
  3. /usr/share/X11/xkb/rules/evdev.xml 进行修改evdev.xml以便您的自定义键盘能够被识别:在之前搜索</layoutList>并添加以下内容</layoutList>

    <layout>
    <configItem>
    <name>us-de</name> <!-- a) -->
    <shortDescription>US-DE</shortDescription> <!-- b) -->
    <description>ASCII with german</description> <!-- c) -->
    <languageList><iso639Id>eng</iso639Id></languageList> <!-- d) -->
    </configItem>
    </layout>
    
    • a)us-de是新键盘布局的文件名X11/xkb/symbols
    • b)US-DE这将出现在指标小程序中
    • c)ASCII with german必须与文件开头的文本一致:
      name[Group1]= "ASCII with german";此文本也将作为注释出现在“布局”下
    • d) 如果您选择“eng”,您的布局将显示在系统->首选项->键盘->选项卡布局->添加->按语言->英语下的“变体”下
  4. 注销并重新登录,然后检查系统->首选项->键盘->选项卡布局->添加->按语言->英语,如果您能找到您的自定义布局,那就太好了!您已经准备好了!在这里选择您的第一个和第二个布局。在“选项”下添加一个键盘切换器小程序,您还可以禁用 CapsLock 键。

  5. 默认键盘会让您烦恼,有时会重新出现...如果您想摆脱它,请编辑/var/cache/gdm/$USER/dmrc 并将任何现有内容放置为您的新默认键盘:Layout=us-de 然后重新启动。

基于Andy Meier 于 2010 年 12 月 28 日在 UbuntuForums.com 上发表的一篇文章

相关内容