具有RSI类型症状的代码创建/编辑器的软件要求(手指无法使用)



我确实知道并且已经阅读了这个站点的适当主题部分。我看到过各种关于重复性劳损、姿势等的话题,因为离题而被关闭,并被转到另一个网站/部分。然而,我认为我的问题将被放在"软件需求"部分,因为我正在寻找特定类型的输入,以及针对我遇到的一些非常具体的医疗问题的软件配置。

这不是一个关于预防RSI的话题,这只是我能在标题中最接近的,人们能马上理解的。我可能已经通过提问回答了我的问题,但如果还有我没有想到的,医疗和其他问题是:

  1. 我在切除良性肿瘤后,手术修复了右手(左手)食指。在2012年被发现并切除之前,这种生长已经夹住了肌腱大约18个多月。我可以用"平手"的手指,比如输入英语(比如这封邮件),但让我转向握着的动作很痛苦,比如用笔写字、用鼠标或触控板。我可以使用鼠标,但不适合近一天的工作。

  2. 我的前臂和小指麻木和疼痛,原因尚不清楚。反复扇动我的手或使用小手指使这些非常痛苦,这在编写代码时使用修饰键时出现了明显的问题。

  3. 虽然目前无法工作,但我最有可能的回归途径仍然是我以前的工作。我在家做的工作非常有限,因为主要客户坚持要你在他们的办公场所工作,更重要的是要使用他们的设备。我不认为我可以使用任何定制的设备(除了配件,如轨迹球),即使我提出自己支付,我们作为一个团队从企业it管理中移除。所以我最多能期待一台i3/i5笔记本电脑,配备8GB内存。除了笔记本电脑的显示器外,我可能还可以提供一个外部显示器。我们确实有对操作系统的管理权限,但我不能在上面安装本地Linux或任何东西,即使我可以,我也需要来自Windows的企业通信和会议工具。

  4. (编辑)。腰椎间盘突出,导致双腿神经疼痛。再一次,我是从身体的角度来研究这个问题的,但为了这个问题的目的,我将假设我目前的状况是永久性的,这排除了踏板或其他使用我的腿来进行角色输入的目的。

所以我不能使用鼠标或触摸板(不确定球)。不能使用修改键,需要在与业务/销售经理相同类型的Win 7企业笔记本电脑上工作,尽管具有管理员权限。主要的工作类型是LAMP堆栈,尽管也有其他技术,如Java, c++和Python。

我看过Tavis Rudd的语音编码(在这里:http://www.youtube.com/watch?v=8SkdfdXWYaI),这将是一个在家的选择,但不是开放式的客户办公室。这个想法确实让我想到,我的解决方案可能在于使用带有重新映射绑定的emacs之类的东西。我可能会得到一台足够强大的笔记本电脑,可以在Oracle VM或其他软件下运行极简X11桌面(比如Fluxbox)。或者我可以安装和使用Cygwin。

我从未使用过完整的ide,但也从未使用过emacs。我去上班的时候会带一些贝壳和贝壳。它可能有所改进,但我发现ide在我们的笔记本电脑上有点迟钝。我知道ide和scite都是可扩展的,后者在lua下,但我怀疑emacs将提供更多针对多种语言的现有扩展,以及诸如存储库工作或其他服务器访问等任务(其中大部分将是*nix)。

我仍在进行身体检查和康复,但目前我假设这些限制将继续存在。这里最有帮助的是那些更熟悉emacs或ide(如Eclipse或NetBeans)的人给出的一些指示,在我开始学习使用它之前,该软件适合我的目的,在我返回工作之前,我必须(无偿)学习使用它,至少需要达到我以前的80%。

这样我就可以尽量避免任何我没有预见到的砖墙。我的第一反应是"学习emacs",因为无论如何,这在我的领域都是一项有用的技能,尽管如果有其他更适合我的主要目标的东西,我还是会这样做。

许多谢谢。

默认的Emacs绑定大量使用修饰符键;然而,也有默认值的替代方案,而不必手动自定义所有绑定。

Vi/Vim可能是一个很好的替代编辑器选择,而不是使用修改键来启动命令,你可以在"插入模式"(你输入的键产生文本)和"命令模式"(你输入的键触发编辑命令)之间切换,所以你很少(如果有的话)需要同时持有多个键。

但是,Emacs可能仍然是可取的。Emacs的一个优点是它可以与许多其他进程和应用程序集成,从而为您提供除了编辑文本之外的许多活动的熟悉键盘界面。我想说,在Unix系统下这种情况比在Windows系统下更多,但我相信还是有好处的。

在Emacs中也有使用Vi方法的方法,这可能是一个更好的答案。我知道evil-mode包("Emacs的可扩展vi层")是在Emacs中使用vi风格绑定的最全面的方法。

我自己不是一个vi用户,所以我将留给其他人提供详细信息。

与模态编辑方法保持一致,God Mode为您提供了类似vi的模态分离,但使用熟悉的Emacs键序列(点击链接以更好地理解该语句)。作者说:"您会发现这种模式非常自然,并且您已经知道如何运行现有的Emacs命令。"

撇开模态编辑不谈,像ErgoEmacs这样的包努力提供比默认值更友好的键绑定,并且可能是有用的。

我读到的一种自定义方法(由Xah Lee使用)是将某些键指定为前缀绑定,通过这些键可以在没有修饰符的情况下访问其他所有键。这对于某些类型的绑定来说很简单,而在其他情况下(实际上可能在大多数情况下)则需要付出努力。

例如,许多绑定以前缀C-x (ctrl+x)开始,但是可以将整个前缀分配给不需要修饰符的序列。例如:(global-set-key (kbd "<f6> x") 'Control-X-prefix)允许您键入F6然后键入x,而不是按住Ctrl同时键入x

其他类似的重赋也不是那么微不足道,但都是可能的。

更普遍(因此可能更有用);当然,通过更少的自定义),您可以使用自定义(因此可能不需要修改符)序列发送任何修改的键。

event-apply-*-modifier函数(用于shift, control, meta(您的Alt键),super, hyper, &alt(不是你的Alt键))是做到这一点的技巧。当调用时,它们从用户那里读取下一个键,然后对该键应用所需的修饰符,传递结果,就像使用真正的修饰符键输入一样。

下面的代码将使用小键盘上的数字键来表示所有修饰符键。你可以输入序列 cx cb , 1 x 1 b

(define-key function-key-map (kbd "<kp-1>") 'event-apply-control-modifier)
(define-key function-key-map (kbd "<kp-2>") 'event-apply-meta-modifier)
(define-key function-key-map (kbd "<kp-3>") 'event-apply-super-modifier)
(define-key function-key-map (kbd "<kp-4>") 'event-apply-shift-modifier)
(define-key function-key-map (kbd "<kp-5>") 'event-apply-hyper-modifier)
(define-key function-key-map (kbd "<kp-6>") 'event-apply-alt-modifier)

您需要做一些额外的工作,使您能够为单个键组合多个修饰符,但这是可能的。

关于修改和翻译输入事件的elisp手册页也是相关的:
碳氢键 g (elisp) Event Mod RET

一种完全不同的方法是使用脚踏板(或其他输入设备;例如:http://xkeys.com/xkeys.php)使您能够按预期使用修饰符键,而无需重新绑定任何东西。

最新更新