ubuntu-键盘映射

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

物理按键功能
CapsLockControl
LCtrlEscape
RAltControl
RCtrlCaps lock

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

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

编写映射文件

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

// ralt is capslock

partial modifier_keys  
xkb_symbols "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 ] };

    // 右边control当成capslock
    replace key <RCTL> { [ Caps_Lock ] };
}; // 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)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值