首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XKB组与级别

XKB组与级别
EN

Unix & Linux用户
提问于 2019-12-13 10:35:38
回答 1查看 628关注 0票数 3

我想扩展我的XKB键盘布局以添加自定义绑定。基于pc104/us布局,我想添加这样的绑定:

代码语言:javascript
复制
AltGr-a → ä (adiaeresis)
AltGr-e → € (EuroSign)

我想我知道如何使用xkbcomp来完成这个任务。但是,我还没有决定是否最好将附加绑定放到第3级(setxkbmap -option lv3:ralt_switch)或组2 (setxkbmap -option grp:switch)中。优点和缺点是什么?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-04-29 07:15:46

两样都有用。主要的优点和缺点在于兼容性:

  • XKB本身使用级别3,例如,用于setxkbmap -layout us -variant eurosetxkbmap -option keypad:oss。将符号放入第3级确保与之兼容。
  • 第2组确保了与xmodmap的兼容性,后者在其中放置了额外的符号。xmodmap是不推荐的,但是它仍然是快速添加附加绑定的一个很好的速记。

下面是使用第3级的解决方案:

代码语言:javascript
复制
xkbcomp - :0 <<EOF
  xkb_keymap {
    xkb_keycodes { include "evdev+aliases(qwerty)"  };
    xkb_types    { include "complete"  };
    xkb_compat   { include "complete"  };
    xkb_symbols  { include "pc+us+inet(evdev)+level3(ralt_switch)+compose(caps)+keypad(oss)"
      key <LatA> { [ a, A, adiaeresis, Adiaeresis ] };  
      key <LatE> { [ e, E, EuroSign ] };  
      key <LatO> { [ o, O, odiaeresis, Odiaeresis ] };  
      key <LatS> { [ s, S, ssharp ] };  
      key <LatU> { [ u, U, udiaeresis, Udiaeresis ] };  
    };
    xkb_geometry { include "pc(pc104)"  };
  };
EOF
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/557014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档