zoukankan      html  css  js  c++  java
  • Linux更改键位映射

    下面代码是alt与cotrol互换,CapsLock改为Control。
    ~目录中创建.Xmodmap文件把下面的代码填进去

    clear Lock
    clear Control
    clear mod1
    keycode 37 = Alt_L Meta_L
    keycode 105 = Alt_R Meta_R
    keycode 64 = Control_L
    keycode 108 = Control_R
    keycode 66 = Control_L
    add control = Control_L Control_R
    add mod1 = Alt_L Meta_L
    add Lock = Caps_Lock
    

    然后在终端输入xmodmap ~/.Xmodmap就可以了


    原理讲解

    键盘某个键位按下去之后会向Linux系统发送一个code,该code是不可更改的。
    linux系统输入一个字符,比如a,是系统调用某个函数实现的。
    键盘的code与系统的输入函数之间存在映射,比如当按下键盘的a,代表a的code与系统输入字符a的函数映射调用,系统就输入了字符a。

    划重点!!!我们可以手动指定键盘按键code与系统输入函数之间的映射,比如把a的code映射到系统输入字符b的函数,那么按下键盘的a就会输入字符b。

    另外,control、alt等按键,多了一个叫“修饰符”的概念,keycode绑定到系统输入函数后,函数还要和修饰符绑定才行

    !清除修饰符 Lock上的所有函数绑定
    clear Lock
    clear Control
    clear mod1
    !绑定keycode与函数调用
    keycode 37 = Alt_L Meta_L
    keycode 105 = Alt_R Meta_R
    keycode 64 = Control_L
    keycode 108 = Control_R
    keycode 66 = Control_L
    !与清除对应,重新添加,添加修饰符control与函数Control_L Control_R的绑定
    add control = Control_L Control_R
    add mod1 = Alt_L Meta_L
    add Lock = Caps_Lock
    

    参考
    http://xahlee.info/linux/linux_swap_control_and_alt_xmodmap.html
    https://wiki.archlinux.org/index.php/Xmodmap_(简体中文)#特殊的按键

  • 相关阅读:
    kill新号专题
    LSB 简介
    linux之eval用法(高级bash程序员的必修之技)
    squid日志配置与轮询
    004_ssh连接慢的问题的解决?
    python操作redis-set
    python操作 redis-list
    python操作redis-hash
    python操作redis--string
    python连接redis002
  • 原文地址:https://www.cnblogs.com/feipeng8848/p/12815360.html
Copyright © 2011-2022 走看看