美文网首页程序员
ubuntu-键盘映射

ubuntu-键盘映射

作者: Mr_Normal | 来源:发表于2018-12-19 13:27 被阅读0次

原文链接
偶然间看到一篇文章,在Linux下互换Capslock和LCtrl(链接忘了),然后就有了重新映射一下功能键的想法。新的映射如下:

物理按键 功能
<kbd>CapsLock</kbd> Control
<kbd>LCtrl</kbd> Escape
<kbd>RAlt</kbd> Control
<kbd>RCtrl</kbd> Caps lock

下面是ubuntu16.04, gnome3的环境下设置键映射的方法,使用的是xkb。

用到的命令及工具有:dconf-editor, setxkbmap

编写映射文件

/usr/share/X11/xkb/symbols目录下面新建一个文本文件,不如就叫cus_map,然后往里面写入如下内容:

partial modifier_keys  
xkb_symbols "my_maps" {         // 这个my_maps名字可以自己定
    // 右边alt当control使
    replace key <RALT> { [ Control_L, Control_L ] };

    // capslock当control使
    replace key <CAPS> { [ Control_L, Control_L ] };
    modifier_map Control { <CAPS>, <RALT> };

    // 左边control当成esc
    key <LCTL> { [ Escape ] };

}; // end  

添加到数据库中

打开/usr/share/X11/xkb/rules/evdev文件,找到! option = symbols的行,在下面加入刚刚编写的映射,修改之后如下:

! option    =   symbols
  cus_map:rctrl_as_caps = +cus_map(my_maps)
  grp:shift_toggle  =   +group(shifts_toggle)
  altwin:menu       =   +altwin(menu)
  altwin:meta_alt   =   +altwin(meta_alt)
  ...

使其对gnome可见

打开/usr/share/X11/xkb/rules/evdev.lst,在! option一栏的后面加上一行:

  ...
  esperanto:dvorak     To the corresponding key in a Dvorak layout
  esperanto:colemak    To the corresponding key in a Colemak layout
  solaris              Maintain key compatibility with old Solaris keycodes
  solaris:sun_compat   Sun Key compatibility
  terminate            Key sequence to kill the X server
  terminate:ctrl_alt_bksp Ctrl + Alt + Backspace

  cus_map:my_maps      my mappings

启用映射

方法一

使用dconf-editor修改数据库。

运行dconf-editor,找到/org/gnome/desktop/input-sources/xkb-options,这是一个列表,往里面加入我们的map:['cus_map:my_maps']

如果之前里面有内容,用,分隔字符串即可。

方法二

使用setxkbmap -print查看当前的映射情况,如下:

xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+cn:2+inet(evdev)+cus_map(rctrl_as_caps)" };
    xkb_geometry  { include "pc(pc105)" };
};

然后启用:

$ setxkbmap -layout cn -option cus_map:my_maps

最后

使用setxkbmap -layout <your layout>,如果编写得没有错误,映射生效。


参考文章:

[Custom keymaps in GNOME 3 on Wayland](Custom keymaps in GNOME 3 on Wayland)

相关文章

  • ubuntu-键盘映射

    原文链接偶然间看到一篇文章,在Linux下互换Capslock和LCtrl(链接忘了),然后就有了重新映射一下功能...

  • 键盘映射

    esc键功能 inoremap jk inoremap 让esc失效

  • openSUSE 键盘映射

    目的:经常用vim,避免碰到Cap键。而且Ctrl键使用频繁。 用到的软件: xmodmap 编写 .xmodma...

  • vim键盘映射

    Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手。vim里最基本的map用法也就是:ma...

  • windows键盘映射

    最近把MacBook接到了以前台式的显示器上了。然后把以前落灰的机械键盘也拿了粗来。。。想要进一步体验一下码代码的...

  • Qt键盘-Android键盘映射

    场景 在做远程控制的时候,需要在本地先捕获当前键盘事件,再将按的键发送给远端,在被控制端模拟对应的键盘事件来做出反...

  • Mac 学习笔记(五)键位映射

    将普通的PC键盘、机械键盘等,映射成为 Mac键盘布局Automator > Service > Launch A...

  • 从零开始配置 vim(3)—— 键盘映射进阶

    严格意义上来说,快捷键的绑定应该是键盘映射,将某些键映射为另一些键。 在上篇我们介绍了基本的键盘映射操作,知道了如...

  • 树莓派 键盘映射

    原文地址 启动树莓派之后发现键盘打印出来的字符非常奇怪,发现它的键盘映射和我们在PC上的不一样,网上查到解决办法如...

  • Karabiner修改键盘映射

    将¥修改为\。修改后重启。 ![将¥修改为](http://upload-images.jianshu.io/up...

网友评论

    本文标题:ubuntu-键盘映射

    本文链接:https://www.haomeiwen.com/subject/arqjkqtx.html