V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunjourney
V2EX  ›  程序员

有什么软件可以把 space 键当辅助键用?

  •  1
     
  •   sunjourney · 2014-07-02 12:36:18 +08:00 · 4452 次点击
    这是一个创建于 3797 天前的主题,其中的信息可能已经有所发展或是发生改变。
    coding时总觉得如果可以用使用这套方案:
    space+i-->up
    space+j-->right
    space+k-->down
    space+il-->left
    space+u-->home
    space+o-->end
    space+back-->delete
    space+enter-->end+return:不管光标在一行中的哪个位置都可换行(类似eclipse里的ctrl+space)
    就爽了!
    19 条回复    2014-08-24 23:43:50 +08:00
    xiandao7997
        1
    xiandao7997  
       2014-07-02 12:57:50 +08:00   ❤️ 1
    什么环境?Mac 有 KeyRemap4MacBook,Win 可以用 AHK 自己写脚本,如果只是在 IDE/编辑器里应该可以自定义设置。
    coke
        2
    coke  
       2014-07-02 13:27:33 +08:00
    @xiandao7997 KeyRemap4MacBook确定能这么搞?作为增补键同时还能当做space?
    xiandao7997
        3
    xiandao7997  
       2014-07-02 13:28:49 +08:00 via Android
    @coke 没有Mac没试过,你可以试一下 :)
    123123
        4
    123123  
       2014-07-02 13:37:23 +08:00
    AHK 脚本,我用来改造成单手键盘用的
    空格当成辅助键唯一的缺点就是平时松开空格时才会输出空格,对一些软件或游戏需要做上黑名单或者临时关闭脚本

    SI(value)
    {
    GetKeyState, shiftState, Shift
    GetKeyState, ctrlState, Ctrl
    GetKeyState, altState, Alt
    GetKeyState, winState, LWin
    if shiftState = D
    shiftKey = +
    if ctrlState= D
    ctrlKey = ^
    if altState = D
    altKey = !
    if winState = D
    winKey = #
    SendInput, %shiftKey%%ctrlKey%%altKey%%winKey%%value%
    }

    Space & 1::SI("0")
    oobleck
        5
    oobleck  
       2014-07-02 16:01:02 +08:00
    用空格经常会遇到些不方便的情况,我平时不会用到右 command,所以用右 command 做辅助键做了一些映射:

    Command_R + k/j/h/l -> 上下左右
    Command_R + i/u -> PageUp PageDown
    Command_R + w/s/a/d -> 鼠标光标移动
    Command_R + n/m -> 鼠标左右键

    windows 换成用右 alt,可以做到 Thinkpad 小红点类似的体验了,大部分情况手不用离开键盘
    old9
        6
    old9  
       2014-07-02 16:04:22 +08:00
    我是用左alt,右alt太远了,左alt也有点远,要是有左alt近一点的键盘,比如对齐到c键,一定无脑入。
    oobleck
        7
    oobleck  
       2014-07-02 16:04:37 +08:00
    还有 Command_R + y/o -> Home/End
    oobleck
        8
    oobleck  
       2014-07-02 16:09:03 +08:00
    @old9
    Mac 键盘右 command 和逗号是对齐的
    Filco MINILA 左右 alt 和空格之间都有个功能键
    ffffwh
        9
    ffffwh  
       2014-07-02 16:32:25 +08:00
    Mac用户放着默认的Emacs/readline键绑定不用都什么心态...
    old9
        10
    old9  
       2014-07-02 17:40:50 +08:00
    @oobleck minila 不错就是太小了啊……有没有大键盘推荐?
    sunjourney
        11
    sunjourney  
    OP
       2014-07-02 17:46:34 +08:00
    尝试使用AHK,原来的space方案发现有两个弊端:
    1、单独使用space的时候space的反映很慢,需要一space :: Send {space}防space被屏蔽;
    2、失去了按住space输出一大串空格的功能(其实是快感)。
    然后发现CapsLlock可以更好地胜任辅助键的任务,AHK的脚本如下:

    CapsLock & i::Send {up}
    CapsLock & k::Send {down}
    CapsLock & j::Send {left}
    CapsLock & l::Send {right}
    CapsLock & u::Send {home}
    CapsLock & o::Send {end}
    CapsLock & n::Send {Pgup}
    CapsLock & m::Send {Pgdn}
    CapsLock & backspace::Send {delete}
    CapsLock & enter::Send {end}{enter}
    P233
        12
    P233  
       2014-07-02 17:48:46 +08:00
    @coke
    @xiandao7997 space 不算 modifier key, keyremap4macbook 应该改不了。

    如果能改我也想改一下空格键
    sunjourney
        13
    sunjourney  
    OP
       2014-07-02 17:50:20 +08:00
    @123123 space换CapsLock是个不错的选择
    @oobleck 右边的opt、cmd使用率过低了,还不在我的盲打区内,觉得合适的辅助键在左侧比较好
    oobleck
        14
    oobleck  
       2014-07-02 19:11:11 +08:00
    @ffffwh
    看个人习惯吧,我写代码用 readline 按键,看网页的时候左手控制光标移动,右手控制上下滚屏
    canautumn
        15
    canautumn  
       2014-07-03 04:48:52 +08:00
    以前看过一篇用seil+keyremap4mac把capslock改成万能修饰键的文章 http://lucifr.com/2013/02/16/caps-lock-to-hyper-key/ ,我觉得这个键更合适一点。同样原理space应该也可以改,要这俩软件配合,先吧space定义成f19再定义为修饰键,(我猜可以,没试过)但是手感就不一样了,抬起的时候才定义为真正的空格,而且粘滞效果肯定不能有了。
    123123
        16
    123123  
       2014-07-03 10:23:38 +08:00
    @sunjourney 不,单手键盘中 CapsLock 是 Enter,Space + CapsLock 是 '
    lotem
        17
    lotem  
       2014-07-03 16:10:46 +08:00
    在Windows上用autohotkey做成過。不爽的是空格鍵和字符按鍵經常要快速交替使用,很容易帶出組合鍵。
    後來我覺得這樣設置也很方便,不必動用空格鍵。https://code.google.com/p/zime/wiki/KeyboardCon
    後來買了Pocker鍵盤,組合功能鍵都由硬件實現了。
    tonyluj
        18
    tonyluj  
       2014-07-04 08:16:54 +08:00
    Linux下用xmodmap~~~
    codeplay
        19
    codeplay  
       2014-08-24 23:43:50 +08:00
    @coke
    可以,直接使用软件内置的一个映射“How Row Arrow and Modifier
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2639 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:27 · PVG 19:27 · LAX 03:27 · JFK 06:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.