使用RSI类型代码创建/编辑器的软件要求症状(不可用的手指) [英] Software Requirements for Code Creation / Editor with RSI Type Symptoms (unusable fingers)

查看:127
本文介绍了使用RSI类型代码创建/编辑器的软件要求症状(不可用的手指)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道并已阅读了适用于该网站的主题部分。我已经看到关于RSI,姿势等的各种主题被关闭为主题并被引用到另一个站点/部分。然而,我认为,我的问题将被列为软件需求部分,因为我正在寻找有关特定类型的输入以及针对某些非常具体的医疗问题的软件配置。

I do know and have read the appropriate topics section for this site. I have seen various topics about RSI, posture etc closed as being off topic and referred to another site/section. I think however that my question will be worded such that it comes under the "Software Requirements" section as I am looking for input on specific types as well as configuration of software for some very specific medical issues I have.

这不是关于预防RSI的主题,只是最接近我可以放入一个标题,人们会理解的蝙蝠。我可能已经回答了我的问题,但是如果有一些我没有想到的,医疗和其他问题是:

This is not a topic about prevention of RSI, it is just the closest I can put in a title that people will understand off the bat. I may have already answered my question just by asking it, but in case there is something I have not thought of, the medical and other problems are:


    消除良性肿瘤生长后,我有一个外科手术修复的右手(优势手)食指。这种增长在2012年被发现和切除之前将肌腱夹紧了大约18个多月。我可以使用手指平手,例如输入英语(例如这个电子邮件),但是我采取行动来抓住手段痛苦的,用笔写或用鼠标或触摸板进行写作。我可以使用鼠标,但不能在几天内的任何地方工作。
  1. I have a surgically repaired right (dominant hand) index finger following the removal of a benign tumor growth. This growth had clamped the tendon for some 18+ months before it was discovered and excised in 2012. I can use the finger "flat handed" such as for typing English (this email for example) but actions which have me move towards a grip are painful, writing with a pen or using a mouse or touch pad for example. I can use the mouse but not for anywhere near a days work.

我在前臂和小手指中都有麻木和疼痛。重复的扇动我的手或使用小手指使这些非常痛苦,这在编写代码时使用修饰符键明显的问题。即使使用无名指也可以推出太多。

I have numbness and pain of an as yet unknown cause in both forearms and little fingers. Repeated fanning of my hands or use of the little fingers makes these very painful which presents obvious problems in using modifier keys when writing code. Even using the ring fingers instead pushes out too much.

虽然目前我无法恢复工作,但我最有可能的回报还在于我以前的工作。在家里做的工作量非常有限,因为主要客户坚持要从自己的房屋中工作,更重要的是使用他们的设备。我不认为我可以使用任何定制设备(除了配件,如轨迹球),即使我自愿支付,我们作为一个团队从企业IT管理员大大删除。所以最好的是,我可以期待一台具有8GB RAM的i3 / i5笔记本电脑。除了笔记本电脑显示屏外,我可能会摆放/提供外部显示器。我们确实有对操作系统的管理员访问权限,但是我无法将本机的Linux放在任何东西上,即使我需要Windows的企业通信和会议工具。

Whilst not able to work at the moment my most likely avenue of return is still to my previous job. There is a very limited amount of work I do from home as the primary client insists that you work from their premises and more importantly use their equipment. I do not think I could use any custom equipment (beyond accessories, such as a trackball) even if I offered to pay for it myself, we as a team are greatly removed from Corporate IT Admin. So at best I can be expecting an i3/i5 laptop with 8GB of RAM. I probably could swag/provide an external monitor in addition to the laptop display. We do have admin access to the OS but I cannot be putting native Linux on it or anything, and even if I could I need the corporate communication and meeting tools from Windows.

(编辑)。腰椎间盘突出引起两腿神经疼痛。再次,我正在从物理的角度来处理这个问题,但是为了这个问题的目的,我认为目前的状况是永久性的,排除了踏板或其他使用我的腿以进行角色输入。

(edited in). Herniated lumbar disc causing nerve pain in both legs. Again I am working on this from a physical standpoint but for the purpose of this question will assume my current condition is permanent, which precludes pedals or other use of my legs for the purpose of character entry.

所以我不能使用鼠标或触摸板(不确定球)。不能使用修饰键,并且需要在商业/销售经理可能获得的同样的Win 7公司笔记本电脑上工作,尽管有管理员访问权限。主要的工作类型是LAMP堆栈,尽管还有其他技术,如Java,C ++和Python。

So I cannot use a mouse or touch pad (not sure about ball). Cannot use modifier keys and need to work on a Win 7 corporate laptop of the same kind that a business/sales manager might get, albeit with admin access. Primary type of work is LAMP stack although there are also other technologies such as Java, C++ and Python.

我看过Tavis Rudd的语音编码(这里: http://www.youtube.com/watch?v=8SkdfdXWYaI ),这将是一个选项从家而不是开放计划的客户端。这个想法让我想到我的解决方案可能在于使用像重映射绑定的emacs这样的东西。我可能会得到足够强大的笔记本电脑在Oracle VM或其他东西上运行极简X11桌面(也许Fluxbox)。或者我可以安装和使用Cygwin。

I had seen the voice coding by Tavis Rudd (here: http://www.youtube.com/watch?v=8SkdfdXWYaI) which would be an option from home but not the open plan client office. The idea did get me thinking however that my solution may lie in the use of something like emacs with remapped bindings. I probably could get a laptop powerful enough to run a minimalist X11 desktop (say maybe Fluxbox) under Oracle VM or something. Or I could install and use Cygwin.

我从来没有使用完整的IDE,但从来没有使用过emacs,而不是简单的任务。我去上班的时候会sc ite一些xterm贝壳。它可能有所改善,但我发现IDE在我们得到的笔记本电脑上有点迟钝。我知道IDEs以及scite将是可扩展的,后者在lua下,但我怀疑emacs将提供更多的现有扩展的多种语言,以及任务,如存储库工作或其他访问服务器等(其中大部分将是* nix)。

I never did use full blown IDEs, but never used emacs beyond trivial tasks either. My go to for work would be scite and some xterm shells. It may have improved but I found IDEs a bit sluggish on the laptops we got. I know the IDEs as well as scite will be extensible, the latter under lua, but I suspect emacs will offer more in terms of existing extensions for multiple languages as well as task such as repository work or other access to servers etc (most of which would be *nix).

我还在进行身体调查和康复工作,但目前我们假设这些限制在此停留。在这里最有帮助的是来自那些更熟悉emacs或IDE(例如Eclipse或NetBeans)的软件的指示,该软件适合我的目的,在我开始学习使用它之前,我将不得不做(未付)在返回工作之前,需要到达我以前至少80%的地面。

I am still working on physical investigation and rehab but for the moment am assuming these limitations are here to stay. What would be most helpful here is some indication from those more familiar with emacs or IDEs such as Eclipse or NetBeans, that the software is fit for my purpose, before I go and start learning to use it, which I would have to do (unpaid) before returning to work, needing to hit the ground at least 80% of where I was before.

这样我就可以尝试避免我没有预见到的任何砖墙。作为第一件事情,我的直觉反应是学习emacs,因为它将是我所在地区的有用技能,不管如果还有其他更适合主要目标的话,我会这么做。

Such that I can try and avoid any brick walls down the line which I did not foresee. My gut reaction as the first thing to be doing is "learn emacs" as it would be a useful skill in my area regardless, although if there is something else more suited to the primary goal I would do that.

非常感谢。

推荐答案

默认Emacs绑定大量使用修饰符键;但是,默认情况下还有其他选项,而不一定要求您手动自定义所有绑定。

Default Emacs bindings make heavy use of modifier keys; however there are alternatives to the defaults, without necessarily requiring you to manually customise all the bindings.

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

Vi/Vim may be a good choice of alternative editor, as rather than using modifier keys to initiate commands, you switch between "insert mode" (in which the keys you type produce text), and "command mode" (in which the keys you type trigger editing commands), so you would rarely (if ever?) need to hold multiple keys at the same time.

然而,Emacs仍然是可取的。 Emacs的优点在于它可以与许多其他流程和应用程序集成在一起,因此除了编辑文本之外,还可以为许多活动提供熟悉的键盘界面。我会说这在Unix下比Windows更为如此,但我确定还有好处。

Emacs may still be desirable, though. An advantage of Emacs is the degree to which it can integrate with many other processes and applications, thus giving you a familiar keyboard interface to many activities besides editing text. I would say this is far more the case under Unix than Windows, but I'm sure there are still benefits.

还有一些方法可以在Emacs中使用Vi方法,这可能是一个更好的答案。我明白,在$ Emacs中使用vi风格绑定的最全面的方法是 evil-mode package(Emacs的可扩展vi层)。

There are also ways to use the Vi approach within Emacs, which may be an even better answer. I understand that the evil-mode package ("extensible vi layer for Emacs") is the most comprehensive approach to using vi-style bindings in Emacs.

我不是自己的vi用户,所以我会留给他人提供详细信息。

I'm not a vi user myself, so I'll leave it to others to provide details.

保持模式编辑方法,上帝模式给你像Vi般的模式分离,但使用熟悉的Emacs键序列(跟随链接来更好地理解该声明)。作者说:你会发现这种模式自然而然地令人惊讶,而且你已经知道如何运行现有的Emacs命令。

Keeping with the modal editing approach, God Mode gives you Vi-like modal separation, but using the familiar Emacs key sequences (follow the link to make better sense of that statement). The author says "You'll find that this mode comes surprisingly naturally and that you already know how to run your existing Emacs commands."

将模式编辑放在一边,因为ErgoEmacs努力提供比默认的更友好的键绑定,并且可能是有用的。

Leaving modal editing aside, packages such as ErgoEmacs endeavour to provide friendlier keybindings than the defaults, and may be useful.

我阅读的一个自定义方法(Xah Lee使用)是将某些键作为前缀所有其他可以访问的绑定,无需修饰符。这对于某些类型的绑定来说很简单,并且在其他情况下(可能在大多数情况下,实际上)需要努力。

A custom approach I read about (used by Xah Lee) was to dedicate certain keys as prefix bindings through which everything else could be accessed without modifiers. This is simple for some kinds of binding, and requires effort in other cases (probably in most cases, realistically).

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

For example, a great many bindings start with the prefix C-x (ctrl+x), but it's possible to assign that entire prefix to a sequence which doesn't require a modifier. e.g.: (global-set-key (kbd "<f6> x") 'Control-X-prefix) would allow you to type F6 followed by x instead of holding down Ctrl while typing x.

其他类似的重新分配不会那么微不足道,但是这一切都是可能的。

Other similar reassignments will not be so trivial, but it's all possible.

更一般地(也许更有用的,当然更少的定制),你可以发送任何修改密钥使用自定义(并因此潜在的修饰符免费)序列。

More generally (and so perhaps more usefully; certainly with less customisation) you can send any modified key using custom (and thus potentially modifier-free) sequences.

event-apply - * - 修饰符函数(对于 shift control meta (您的Alt键), super hyper ,& alt (不是你的Alt键))是这样做的窍门。当被调用时,他们从用户读取下一个密钥,然后将所需的修饰符应用于该密钥,传递结果,就像使用实际修饰符键一样键入。

The event-apply-*-modifier functions (for shift, control, meta (your Alt key), super, hyper, & alt (not your Alt key)) are the trick to doing this. When called, they read the next key from the user, and then apply the required modifier to that key, passing the result through as if it had been typed using the real modifier key.

以下将使用键盘上的数字键来表示所有修改键。然后,您可以键入 Cx Cb 作为 1 x 1 b

The following would use the number keys on the keypad to represent all the modifier keys. You could then type the sequence C-xC-b as 1x1b.

(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)

您需要进行一些额外的工作,才能使单个键的多个修饰符相结合,但这是可能的。

You'd need to do some extra work to enable you to combine multiple modifiers for a single key, but it's possible.

关于修改和翻译输入事件的elisp手册页面也是相关的:

Ch g (elisp的)事件Mod RET

The elisp manual page on Modifying and Translating Input Events is also relevant:
C-hig (elisp) Event Mod RET

完全不同的方法是使用脚踏板(或其他一些输入设备;例如: http://xkeys.com/xkeys.php ),使您可以使用修饰键意图,而不需要重新绑定任何东西。

A completely different approach would be to use foot pedals (or some other input device; e.g.: http://xkeys.com/xkeys.php) to enable you to use the modifier keys as intended, without the need to rebind anything at all.

这篇关于使用RSI类型代码创建/编辑器的软件要求症状(不可用的手指)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆