博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elementary OS使用Xkb修改按键映射,同时适用于其他使用Xkb库的Linux发行版
阅读量:6641 次
发布时间:2019-06-25

本文共 1964 字,大约阅读时间需要 6 分钟。

目的

  1. 实现CapsL_Ctrl交换

  2. 实现自定义功能键:

    • 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

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

步骤

  1. 查看当前使用的键盘布局,终端执行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即下面我们需要修改文件。

  2. 备份配置文件

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

  3. CapsL_Ctrl交换

    概念:

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

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

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

    保存注销从新登录生效。

  4. 设置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 ] };
  5. 自定义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 ] };

    注销从新登录有效

参考

转载地址:http://haovo.baihongyu.com/

你可能感兴趣的文章
看雪WiFi万能钥匙CTF-第一题 WannaLOL
查看>>
20条Linux命令面试问答实例
查看>>
微软修复 bug 的神奇?
查看>>
身为过来人给Linux初学者的建议
查看>>
python的内存管理机制
查看>>
Springboot+thymeleaf+mybatis 报Error resolving template [index], template might not exist的异常
查看>>
[Python]从零开始学python——Day04 函数
查看>>
MySql 巧用 rand( )获取随机记录
查看>>
vue-router小记
查看>>
在 CentOS7 docker 镜像 上安装 zookeeper-3.4.11 服务
查看>>
ConcurrentHashMap的size方法 jdk 1.8
查看>>
webpack2--tidying up
查看>>
MySQL函数大全 及用法示例
查看>>
oracle 11g dba用户秘密修改其他用户密码
查看>>
爬虫 代理IP
查看>>
版本控制笔记
查看>>
搜索引擎(Solr-索引详解)
查看>>
Redis 总结
查看>>
以太坊JSON RPC API中文文档
查看>>
使用xshell连接Linux 和 PuTTY密钥认证 、xshell密钥认证 (资源)
查看>>