【发布时间】:2017-05-12 21:37:36
【问题描述】:
背景:在过去五年左右的时间里,在典型 PC 上使用 Gnu/Linux 多年后,我一直在使用 Mac 硬件(大部分是高端 MacBook Pro 笔记本电脑)和软件符合人体工学键盘的硬件。更重要的是,作为 Emacs 的重度用户,切换到 Mac 是痛苦的,Apple 标准的短键盘既令人抓狂又不可避免。我通过使用Karabiner 工具进行了两个小但非常重要的更改来防止RSI 发作:1)更改大写锁定键以在单独按下时生成菜单(f13)键,并在与另一个键按下时更改控制键修改键码; 2)以类似的方式更改返回键,单独按下时返回,当与另一个键按下时,控制键修改了键码。对 Apple 最近在硬件和软件方面的决定感到失望,我现在回到 Gnu/Linux(如果重要的话是 Ubuntu),但仍坚持使用 Mac 笔记本电脑。
问题:由于 Karabiner 是一个仅适用于 OS X 的工具,没有现成的 Gnu/Linux 对应工具,看来我必须编写和/或修改一些代码来实现大写锁定和返回键Karabiner 启用的双重功能行为。 Karabiner 作者writes 认为 xbindkeys 和 rbindkeys 会重新映射键,但乍一看它们似乎无法处理双重功能行为。现在我正在努力移植 Karabiner 或完全创建一个新工具。毫无疑问,可能还有其他方法。所以我的问题是:你会建议什么编程建议来解决这个问题?尤其是可以在数小时、数天或数周而不是数月内开发的产品。
注意事项:
1) 有不同的方法涉及行为更改,例如交换控制键和命令键。许多人都以不同程度的满意进行了尝试。恕我直言,Karabiner 的双重功能方法是最有效的,因为它在键盘主行上提供控制键对称性,并且适用于所有应用程序!
2) 也可能建议使用不同的硬件。我尝试过戴尔、惠普、联想、宏碁系统并查看了更多。没有一款能与 Apple 高端产品的综合功率、尺寸、手感和风格相媲美,尽管价格较高。例如,Dell Precision 7510 体积庞大,触控板感觉像砂纸; Lenovo X1(一个非常好的系统)没有 Thunderbolt 端口;等等
3) 由于笔记本电脑的要求,外接键盘也不适合;飞机或火车上没有外接键盘。
【问题讨论】:
-
fork
xbindkeys并实现这个额外的功能。 -
分叉 xbindkeys 很有意义。不错。
-
你看过 xmodmap 吗?
-
双功能键可以使用xcape。
标签: linux macos emacs keyboard karabiner