资讯专栏INFORMATION COLUMN

Elementary OS使用Xkb修改按键映射,同时适用于其他使用Xkb库的Linux发行版

Me_Kun / 905人阅读

摘要:目的实现和交换实现自定义功能键以上按键映射主要是为了适应,因为我最不常用,固将其用作功能键。使用建可以切换等级,使用可以切换组。修改段,将映射为自定义的功能修改文件。

目的

实现CapsL_Ctrl交换

实现自定义功能键:

R_Alt + H -> Left

R_Alt + J -> Down

R_Alt + K -> Up

R_Alt + L -> Right

R_Alt + 4 -> End

R_Alt + 6 -> Home

R_Alt + F -> Prior

R_Alt + N -> Next

以上按键映射主要是为了适应Vim,因为R_Alt我最不常用,固将其用作功能键。 关于Xkb是什么这里不做赘述,简单来说XkbX-Window的一个负责键盘映射的库。

步骤

查看当前使用的键盘布局,终端执行setxkbmap -print

xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)"    };
    xkb_types     { include "complete"    };
    xkb_compat    { include "complete"    };
    xkb_symbols   { include "pc+us+inet(evdev)+group(alt_shift_toggle)"    };
    xkb_geometry  { include "pc(pc105)"    };
};

xkb_symbols属性后面的pcus即下面我们需要修改文件。

备份配置文件
以下操作有风险,请在有linux操作系统使用经验的情况下操作
切换到目录/usr/share/X11/xkb,执行sudo tar -cvf symbols.tar symbols打包原有的配置文件,然后进入目录symbols

CapsL_Ctrl交换
概念:

每一个键配置(大括号)里面的方括号表示一个组,每个方括号里面用逗号隔开的内容表示不同的等级。
使用`Shift`建可以切换等级,使用`Mode_switch`可以切换组。

编辑pc文件,修改xkb_symbols "pc105"段,->表示前面的内容修改为后面的内容

key  { [ Caps_Lock   ] }; -> key  {  [ Control_L   ] };
key  { [ Control_L   ] }; -> key  {  [ Caps_Lock   ] };

保存注销从新登录生效。

设置R_Alt为自定义功能键
pc文件中的内容include "altwin(meta_alt)"可以看出R_Alt键的修改并不在pc文件中。
我们编辑altwin文件。修改xkb_symbols "meta_alt"段,将R_Alt映射为Mode_switch

 key  { type[Group1] = "TWO_LEVEL", symbols[Group1] = [ Alt_R, Meta_R ] }; -> key  { type[Group1] = "TWO_LEVEL", symbols[Group1] = [ Mode_switch ] };

自定义R_Alt的功能
修改us文件。编辑xkb_symbols "basic"段,修改以下内容

key  {  [   4, dollar      ] }; -> key  {  [ 4, dollar      ], [ End   ]  };
key  {  [   6, asciicircum ] }; -> key  {  [ 6, asciicircum ], [ Home  ]  };
key  {  [   f,  F          ] }; -> key  {  [   f,  F        ], [ Prior ]  };
以下类推修改为:
key  {  [   h,  H   ], [ Left ] };
key  {  [   j,  J   ], [ Down ] };
key  {  [   k,  K   ], [ Up ] };
key  {  [   l,  L   ], [ Right ]  };
key  {  [   n,  N   ], [ Next ] };

注销从新登录有效

参考

An Unreliable Guide to XKB Configuration

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/60953.html

相关文章

  • Elementary OS使用Xkb修改按键映射时适用于其他使用Xkb库的Linux发行

    摘要:目的实现和交换实现自定义功能键以上按键映射主要是为了适应,因为我最不常用,固将其用作功能键。使用建可以切换等级,使用可以切换组。修改段,将映射为自定义的功能修改文件。 目的 实现Caps和L_Ctrl交换 实现自定义功能键: R_Alt + H -> Left R_Alt + J -> Down R_Alt + K -> Up R_Alt + L -> Right R_Alt +...

    jk_v1 评论0 收藏0
  • Elementary OS使用Xkb修改按键映射时适用于其他使用Xkb库的Linux发行

    摘要:目的实现和交换实现自定义功能键以上按键映射主要是为了适应,因为我最不常用,固将其用作功能键。使用建可以切换等级,使用可以切换组。修改段,将映射为自定义的功能修改文件。 目的 实现Caps和L_Ctrl交换 实现自定义功能键: R_Alt + H -> Left R_Alt + J -> Down R_Alt + K -> Up R_Alt + L -> Right R_Alt +...

    elarity 评论0 收藏0
  • Debian 及其衍生修改键盘映射

    修改有风险,操作需谨慎 查看当前键盘布局 hung@my-host-name ~$ setxkbmap -print xkb_keymap { xkb_keycodes { include evdev+aliases(qwerty) }; xkb_types { include complete }; xkb_compat { include c...

    lijy91 评论0 收藏0
  • Debian 及其衍生修改键盘映射

    修改有风险,操作需谨慎 查看当前键盘布局 hung@my-host-name ~$ setxkbmap -print xkb_keymap { xkb_keycodes { include evdev+aliases(qwerty) }; xkb_types { include complete }; xkb_compat { include c...

    BigTomato 评论0 收藏0
  • 在headless模式下运行selenium

    摘要:而在不久前宣布支持模式而后跟随的新闻再次勾起我无尽的回忆。那么我们就来谈谈在和浏览器不原生支持模式下如何使用来实现模式进行动态数据的抓取。比较常见的例子在中进行转发。下面我们进行测试发现其可以正常的运行。 原文地址: http://52sox.com/python-use-h... 在Python中进行浏览器测试时,一般我们会选择selenium这样的库来简化我们工作量。而有些时候,为...

    MoAir 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<