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

安利一下我的键盘修改按键,解决小拇指按 shift 的困境

  •  
  •   iceAD · 176 天前 · 914 次点击
    这是一个创建于 176 天前的主题,其中的信息可能已经有所发展或是发生改变。

    布局

    via

    缘由

    • 简单来说就是将键盘的 fn1 区的数字键以及标点符号改为对应在 shift 按键下的。
    • 因为习惯性使用 shift+字母来打大小写的字母,虽然可以用 vim 的 g~来改善,但是习惯了。 结果就是导致我的左手小拇指不堪重负,经常酸痛,然后我就改成这种键位了。
    • 同时通过 via 改,我还把 hjkl 改成了对应的方向键,允许我在 vim 的插入模式下,也可以进行光标移动。 并且也把 Esc 也改到了 fn1 区的 O 字母上,虽然 ctrl+O 在大部分 IDE 的 vim 布局下也是 Esc , 但是,一切为了缓解小拇指的压力为主。

    • 其实我也在练习右手小拇指按右侧的 shift ,但我感觉真的不习惯,而且也很累,还是大拇指按 fn1 方便。

    • 而且大部分 Alice 的键盘 fn1 的布局都在空格键右侧,可以说非常兼容。

    • 最让爽的是,在把 fn1 区的 hjkl 改成方向键以后,有时候在不是 vim 编辑的情况下, 我还是可以熟悉的利用 vim 的移动。

    • 有段时间我把 fn1 下的方向键( or WASD )改成了鼠标移动,然后还配了鼠标左右键,但用起来还是太糟糕了。

    你可能会说,我没有支持 via 的键盘,那,,,,就当我说的是废话吧。 仅提供一个思路

    6 条回复    2023-12-11 08:59:36 +08:00
    746970179
        1
    746970179  
       176 天前   ❤️ 1
    难得见到这么细节的键位设置的

    能 get 到你的整体设计: 充分利用 slice 键盘, fn 按键方便的优势, 将 fn 搭配了一套 shift+数字, 还有方向和 esc. 这样 1 节省左手小拇指 shift, 2 能全区域使用 hjkl 进行移动

    分享下我的兼容性不错的方案
    只将 capslock 更改为 esc. 其他基本上不动
    使用 ctrl+A/E, F/B 进行光标的左右移动--这个确实没有你的 fn+hjkl 好按, 有点羡慕的
    因为经常需要帮同事电脑设置, 加上有时候出差只能使用笔记本自带键盘.
    目前来说, 按 shift 还挺简单, 但是按 ctrl 有点难, 不过还好 ctrl 不用太多

    我这套方案, 更改简单, 兼容性还不错, win, mac, 大部分编辑器, 基本上都可用

    目前只有一个小问题, 就是有时候不一定要大写, 但是 shift 已经按下去了, 如果立刻松开, 就会变成切换输入法了
    有的人使用 capslock 进行切换输入法的话, 但咱使用 vim 啊. 所以目前就这样了
    lancelock
        2
    lancelock  
       176 天前
    没那么频繁需要输入大写啊
    kuanat
        3
    kuanat  
       176 天前
    Linux/Windows/macOS 上都有软件实现 QMK/via 的方案。原理都是在内核/驱动层拦截设备输入事件,根据用户规则重映射后再传递给对应的窗口管理器。甚至可以做到重映射 Win+L 这样硬编码的按键组合,和类似 AHK 可以判断输入焦点所在应用来切换配置的功能。

    Linux 上早期基于 x11 的改键方案可以全淘汰了,基于 evdev/uinput 的方案可以提供对 wayland 的支持。相关的开源项目很多,比如 hawck/kbct/keyd 等等。

    Windows 和 macOS 涉及到加载(未签名)内核驱动的问题,相关实现会比较少。Windows 可以考虑 interception+capsicain 组合,macOS 似乎 Karabiner 比较成熟。
    fanhed
        4
    fanhed  
       157 天前
    其实 macOS 可以用 hammerspoon 实现更复杂的按键绑定修改
    JimmyChan1506
        5
    JimmyChan1506  
       139 天前
    刚买了支持 VIA 改键的键盘, 想问一下, 如果我不想用 capslock 原有的大小写切换功能, 然后 capslock + I J K L 来替代对应的方向键, 请问要怎么做呢?
    iceAD
        6
    iceAD  
    OP
       138 天前
    @JimmyChan1506 如果不用 capslock 的话,考虑把 capslock 改成 fn 键,然后再对应的 fn 区的 hjkl 改成方向键?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1362 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:34 · PVG 01:34 · LAX 10:34 · JFK 13:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.