高斯ALT71键盘在linux下的映射
零、趁着双十一活动入手一块高斯ALT71键盘,配色和键位都是我喜欢的类型,但是被克服告知没有驱动,无法该键位,瞬间无语。国内厂商就是这样的,总想考颜值取胜,其实键盘更需要的是可玩性啊。厂家不提供,作为一个重度linux使用者,怎么能忍受了,经过摸索,作了如下的操作,键盘瞬间变得高大上了不少。
一、借助树莓派的linux的xev工具获取各个键位的键值我用的的主要如下:
keycode 9=asciitilde grave //这个算是键位的回归,通过linux中kde的键盘工具将大写映射为Esc,原来的Esc被修改为~和`,我觉得用~更多些,就交换了顺序
keycode 49=F12 F5
//原来波浪线的地方,映射为F12,为了快速调出yakuake,下拉式终端,F5是为了快速的刷新
keycode 110=F8 Home
//原来的Home键我映射为F8和Home
keycode 112=F11 Prior
//原来的Prior键我映射为F11和Prior
keycode 115=F4 End
//原来的End键我映射为F4和End
keycode 117=F10 Next // 原来的Next键我映射为F10和Next
keycode 118=F9 Insert
//原来的Insert键我映射为F9和Insert
keycode 119=Delete Caps_Lock //原来的Delete键我映射为Delete和Caps_Lock
上面所有按键的后面的按键是shift加键的功能,例如想用大写,那就shift+Delete即可,这样,既可以保留原来键盘的功能,又可以兼顾自己的使用习惯了,完美收工。
二、使用linux下的工具xmodmap工具实现键位的修改,主要是借助脚本文件.xmodmap,该脚本在~/下即可内容:
1 keycode 118=Caps_Lock 2 keycode 66=Escape 3 keycode 9=asciitilde grave 4 keycode 49=F12 5 keycode 112=F11 6 keycode 117=F10 7 keycode 110=F9 8 keycode 115=F8
三、再在~/下创建一个shell脚本文件,内容:
xmodmap ~/.xmodmap
四、结果展示:前后对比:
修改前如图 修改后为: 1、Esc键成了~和`,并且默认是~,按下shift后是`,作为linux的使用者应该知道,~的使用还是很频繁的,而我对`的使用很少 2、Casp Lock变成了Esc键,linux下的vim使用者应该觉得不错吧 3、Ins变成了Caps Lock键,用的不多,放置到一个不太重要的位置吧 4、~`键变成了F12,我用manjaro,终端用yakuake,F12是唤出yakuake的默认快捷键,很方便的 5、PgUp变成了F11,我设置的kde的系统快捷键,是全屏显示的,F12唤出终端,F11终端全屏太爽了 6、PgDn变成了F10,我的vim设置的一键编译快捷键就是F10了,简单的C代码,可以一键编译并运行 7、Home变成了F9,我的vim设置的一键添加注释,需要的可以试试,如果进行ROS开发,可能需要多个终端,不妨将F9设置成一键启动skura终端 8、End变成了F8,我的kde显示隐藏文件的快捷键,如果进行ROS开发,可能需要多个终端,不妨将F9设置成一键启动cool retro term 终端,这样通过三次按键启动三个终端,超级方便
五、修改完成后,每次启动都需要执行下命令:xmodmap .xmodmap才能真正完成映射,不是很方便,后来发现有一个最简单的办法就是修改.bashrc文件,在最后添加一行:
1 xmodmap ~/.xmodmap
就可以实现每次启动自动完成映射了。
20221003补充,将文件命名为:.Xmodmapu无需任何修改,系统能够自动调用,更加方便
相关文章
- Linux 下kafka集群搭建
- Linux之vmware安装
- linux 监控CPU 内存情况
- Linux下Apache与httpd的区别与关系
- linux shell的输出效果修改方法(界面颜色)
- 【Linux 内核 内存管理】内存管理系统调用 ④ ( 代码示例 | mmap 创建内存映射 | munmap 删除内存映射 )
- 【Linux 内核 内存管理】内存管理系统调用 ③ ( mmap 创建内存映射原理 | 分配虚拟内存页 | 物理地址与虚拟地址进行映射 | 并分配物理内存页 | mmap 库函数与内核系统调用函数 )
- 【Linux 内核 内存管理】内存映射相关数据结构 ③ ( vm_area_struct 结构体成员分析 | shared 成员 | anon_vma_chain 成员 | anon_vma 成员 )
- L83.linux命令每日一练 -- 第11章 Linux系统管理命令 -- ipcs和ipcrm
- L68.linux命令每日一练 -- 第十章 Linux网络管理命令 -- ping和traceroute
- L66.linux命令每日一练 -- 第十章 Linux网络管理命令 -- arp和ip
- L64.linux命令每日一练 -- 第十章 Linux网络管理命令 -- ifconfig和ifup
- L58.linux命令每日一练 -- 第九章 Linux进程管理命令 -- pgrep和kill
- L54.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- umount和df
- L50.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- tune2fs和parted
- L46.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- w和who
- 嵌入式Linux开发,Ubuntu22下交叉编译报错:arch64-linux-gnu-gcc: error while loading shared libraries: libstdc++.so.
- 嵌入式linux开发,Linux下访问PHY芯片寄存器
- 嵌入式linux开发,取消历史命令记录
- 使用wget批量下载geo数据集的全部文件 linux下载geo数据 geo处理的数据不是下载原始数据 Linux如何下载ftp文件 geo ftp geo ftp下载 geo下载
- linux系统中Miniconda或Anaconda中conda的升级
- Linux之find忽略搜索3个以上目录
- linux查看网卡速度
- Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?
- ZYNQ - 嵌入式Linux开发 -08- linux应用程序开发