V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
searene
V2EX  ›  Linux

ubuntu 下有没有将 Alt + hjkl 映射为方向键的方法?

  •  
  •   searene · 2017-01-30 18:19:36 +08:00 · 6409 次点击
    这是一个创建于 2890 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用的是 ubuntu 16.10 ,方向键太远,所以希望能全局使用类似 vim 的移动方式,用网上的各种方法都没有实现,你们在 linux 下都是怎么做到的?

    18 条回复    2018-12-15 21:18:47 +08:00
    dtfm
        1
    dtfm  
       2017-01-30 18:26:37 +08:00
    可以在~目录下建立 .Xmodmad 然后映射成 上下左右的功能键

    具体参见: https://www.zouyesheng.com/xmodmap-usage.html

    不过我也只知道单键映射可行,不太清楚双键的设置法
    Yc1992
        2
    Yc1992  
       2017-01-30 18:28:11 +08:00 via Android   ❤️ 1
    gh60 或者 poker
    zhidian
        3
    zhidian  
       2017-01-30 18:32:18 +08:00
    我把空格键 + ESDF 映射成了上下左右(单独按空格输出空格,组合按则是方向键)。你可以搜一下 xcape 。
    loading
        4
    loading  
       2017-01-30 18:43:16 +08:00 via Android   ❤️ 2
    https://geekhack.org/index.php?topic=51069.0

    spaceFn ,很方便好用。

    好用就点❤吧,谢谢。
    zhidian
        5
    zhidian  
       2017-01-30 18:45:44 +08:00   ❤️ 1
    如果用 xmodmap 和 xcape ,这是示例: http://pastebin.ca/3761929 (如果搞残了, log out )
    zhidian
        6
    zhidian  
       2017-01-30 18:50:49 +08:00   ❤️ 1
    @loading 看了下你说的这个,好像是一个意思。 Win 上我也用的 AHK 实现,这人似乎弄得很复杂……其实 AHK 只要 "space & x::Send {y}"(把“空格+x ” 变成 “ y ”) 和 "space::space"(单独还是“空格”) 就可以了……
    firebroo
        7
    firebroo  
       2017-01-30 20:23:26 +08:00 via Android
    i3wm 。。
    searene
        8
    searene  
    OP
       2017-01-30 22:10:19 +08:00
    @zhidian 谢谢,试了一下,组合基本都生效了,只是空格键不能敲空格了。。。
    zhidian
        9
    zhidian  
       2017-01-30 22:37:54 +08:00
    @searene 额……你运行 xcape -e "ISO_Group_Shift=space" 了吗……
    searene
        10
    searene  
    OP
       2017-01-30 23:00:43 +08:00
    @zhidian 执行了,不过都有错误信息

    ➜ ~ xmodmap kbd.xmodmap
    X Error of failed request: BadValue (integer parameter out of range for operation)
    Major opcode of failed request: 118 (X_SetModifierMapping)
    Value in failed request: 0x17
    Serial number of failed request: 19
    Current serial number in output stream: 19
    ➜ ~ xcape -e "ISO_Group_Shift=space"
    WARNING: No keycode found for keysym space (0x20) in mapping ISO_Group_Shift. Ignoring this mapping.
    xream
        11
    xream  
       2017-01-31 09:38:05 +08:00   ❤️ 1
    同 2l, 买块客制化键盘 搞自定义配列省心
    searene
        12
    searene  
    OP
       2017-01-31 10:36:44 +08:00
    之前的错误还没查出来是怎么回事,不过用别的方法实现了 space + hjkl 的移动方式,把下面的代码保存到~/keyboard.xmodmap 文件里。

    ```
    key which we must keep around.
    keycode 65 = Mode_switch space space space
    keycode anykey = space

    keycode 43 = h H Left
    keycode 44 = j J Down
    keycode 45 = k K Up
    keycode 46 = l L Right
    ```

    执行`xmodmap ~/keyboard.xmodmap && xcape -e '#65=space' -t 250`就行。
    noe132
        13
    noe132  
       2017-02-01 11:58:42 +08:00 via Android
    win 下 ahk 。。。
    我的改键是
    alt+ ikjl= udlr
    alt+ uom. = home end pgup phdn
    alt+h n = backspace delete
    searene
        14
    searene  
    OP
       2017-02-01 12:07:52 +08:00
    @noe132 我在 win10 下用 ahk 有点问题,比如我把 Alt+j 映射为向下,如果快速按 Alt+j 几下或者一直按住的话,会偶尔弹出一个 j 来,你有没有这种情况?如果没有的话能不能分享一下你的脚本?谢谢。
    zhidian
        15
    zhidian  
       2017-02-01 22:17:42 +08:00   ❤️ 1
    searene
        16
    searene  
    OP
       2017-02-01 22:27:50 +08:00
    @zhidian 谢谢,我等试一下。
    rubber
        17
    rubber  
       2017-02-02 17:19:49 +08:00
    autokey-py3 可定制全局快捷键,也可以根据特定窗口设定
    mattx
        18
    mattx  
       2018-12-15 21:18:47 +08:00
    @loading #4 hi spacefn 的激活按键可以选成 left alt 么? 现在打字需要用空格, 这样感觉很滞后.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2743 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:05 · PVG 20:05 · LAX 04:05 · JFK 07:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.