四肢麻痺プログラマーのための最高のプログラミング補助


125

結論にジャンプする前に、はい、これはプログラミングに関連しています。それは、「そこには、しかし神の恵みのために、あなたか私に行きなさい」という見出しの下にある状況をカバーしています。これは私にとってまったく新しい領域なので、私はここでいくつかの深刻な助けを求めています。

近くの町にいる若者、ホンザリパは、高校を卒業してから2週間後に古典的なダムシングを行いました。彼はロシアの川で浅瀬に飛び込み、C-4 / C-5で休憩しました。プール休憩。ほんの数秒で、彼は並外れたゴルファーとレスラーから四肢麻痺になりました。(ストーリーを読んでください...私たちは皆、Briannaのようなガールフレンドがいるほど幸運だったはずです。)それは10か月前のことであり、彼は右の人差し指ともう1つの手/足の動き、それらのどれもきめの細かい。

彼のコンピューター(現在はWin7を実行していますが、必要に応じて変更できます)を完全に制御するには、音声コマンドを使用します。本座は馬鹿ではありません。彼はAPの数学と物理学で3.7 GPAを取得していました。

問題点:

  1. 彼の入力はすべて音声コマンドを介して行われるため、プログラミングにおける特殊文字の優位性には膨大な量の詳細なコマンドが必要になることを懸念しています。プログラマー向けに特別に設計された音声入力システムを知っている人はいますか?モーダルかもしれないものについて考えています。たとえば、「Python入力」と言うと、クラス定義を行うためにマクロモードになります。プログラマーランドのすべてのRSIを考えると、そこに何かがあるはずです。どのOSで動作しますか?

  2. 私は彼にPythonを教えることを計画しています。Pythonはプログラミングと教育に私の好きな言語です。Pythonで書かれたアプリケーションや何かはありますか。彼の障害をサポートしながら精神的に彼を魅了するのに特に適していますか?彼の表明した関心の1つは株式投資ですが、それはまったく新しいプログラマーにとって良い出発点ではないかもしれません。

  3. アクセシビリティの課題を持つ人々にとって特にフレンドリーではない環境(Flash、JavaScriptなど)はたくさんあります。基本的に画面環境の上にオーバーレイシステムを作成し、画面イメージの上にマクロコマンドの構築を許可した研究プロジェクトを漠然と覚えています(ただし、見つかりません)。このシステムを取得/トレーニングできれば、ネットを使用する際の多くのハードルを取り除くことができるかもしれません。

  4. 私は特に、オープンソースのPythonベースのロボット工学およびロボット補綴プロジェクトを見つけ、彼が高度なプログラミング概念を同時に学びながら、彼自身の当面の問題のいくつかを解決することを学ぶことができるようにしています。

私はこれについてたくさんグーグルを作りました、しかし私は私が行方不明のものがあることを知っています。私は、SOコミュニティに、ここのプレートにステップアップするように依頼しています。このグループが答えを知っているので、聞かせてください!そのような人生を変えるような出来事の後に、私たちの誰もがまだプログラムする必要があるかもしれない/必要があるかもしれない機会で私を圧倒します。

更新:私はcomputeforquads.orgを登録したばかりで、あらゆる種類の問題に対するあらゆる種類のソリューションのページを作成します。これまでにご協力いただき、ありがとうございました。


4
たぶん、superuser.comの優秀な人たちは、アクセシビリティソフトウェアについての洞察を持っているかもしれません。ただし、プログラミング関連のツールについては言えません。手伝えなくてすみません。
zneak

3
うーん、私はHonzaで完全に機能するものをビルドしようとするよりも、カスタムビルド言語を使用することをお勧めします。COBOLのような言語があり、実際にはキーワードベースで「人間が読める」(そして読み上げることができる)ものがあります。ロボット工学と同様に、レゴから始めませんか?カメ(ロボット-画面を移動して線を描くことができるもの)と簡単な構文を備えたいくつかの言語を私見するのはかなり良いでしょう。自分でプログラミングするのが難しいのですが、「違う」ということは大したことではないことを理解していますが、この場合、それは私には理にかなっているように見えます。
GabrielŠčerbák2010

7
以前、音声によるプログラミングについて説明しました(基本的に、それはまだラフで実験的なものであり、ほとんどサポートされていません)。stackoverflow.com/questions/1408874/…およびstackoverflow.com/questions/87999/…を参照してください。
dmckee ---元モデレーターの子猫2010

4
悲しいことに、私はこれのほとんどについて良い答えがありません。しかし、記事で気づいたのは、人差し指の動きで車椅子の小さなジョイスティックを操作できることです。小さなジョイスティックスタイルのUSBマウスを探すことをお勧めします。私は前にいくつか見ました。特に安くはない(アイテムが少なすぎる)が、追加の入力デバイスとして役立つ場合があります。
ニコラスナイト

2
@RCIX:私はあなたの熱意を理解し、感謝しています。このようなオンラインの誤解は、少なくとも1973年のPLATO IV Notesにまで遡ります。そこでは、タイピングでは重要なボディランゲージと声のトーンが伝わらないことがわかりました。1974年に1つのFlameWar(誤解から生じた)がありました。これは、コンピュータベースの社会環境における対人相互作用に関するおそらく最初の修士論文の基礎となったものです。6月2日と3日は、マウントマウントのコンピューター歴史博物館でPLATO @ 50カンファレンスが開催されます。ビュー、カリフォルニア州。あちこちで灰色ひげがたくさんいるでしょう。:-)
Peter Rowell、

回答:


92

私はスポーツで怪我をしており、深刻な痛みなしに数文字を超える文字を入力することはできません。

代わりに、Dragon NaturallySpeakingと一緒にemacsを使用します。私はそれがうまくいくのを助けるためにマクロとスクリプトを書きました。システムは完璧ではありませんが、機能します。主にC ++でプログラミングしていますが、Pythonも使用しています。

よろしければ、私がお手伝いします。私はあなたに警告しなければなりません、テキストを音声に変換するソフトウェアに慣れて、それを訓練するのに数ヶ月かかります。さらに、私はネイティブスピーカーではありません。

絶望しないでください、解決策があります。

ここにemacsおよびDragonファイルへのリンク(残念ながらまだ文書化されていません)

http://code.google.com/p/asadchev/source/browse/#svn/trunk/home/Dragon

http://code.google.com/p/asadchev/source/browse/#svn/trunk/emacs/elisp

また、詳細情報が必要な場合は、私の番号は515 230 9363(米国、アイオワ)です。できればお手伝いさせていただきます


1
「答え」はあなたがより多くの可能性を投稿するのを妨げるので、これがチェックされないようにしてください。私も1980年以来vi(そして今はvim)の人だったので、Andreがすでに行っている作業を補完する「viマクロセット」を作成する必要があります。 Notepad ++セット、またはAptanaセット(Eclipse + PyDev)。
Peter Rowell、

うわー、ああ、私はあなたの投稿を読むまでそれを知りませんでした。これまでに見たすべての投稿には表示されません...少なくとも、Dragon NaturallySpeakingがうまく機能することはわかっています。
Xavier Ho

19

Dasher Projectを見る価値はあります。これは、重度の障害者であっても、テキストを適度にすばやく入力できるようにします。Dasherは言語の確率モデルに基づいて構築されているため、発話の可能性が高くなり、システムに入力しやすくなります。デモシステムには、かなり印象的な自然言語のコレクションが付属しています。Pythonで書かれたプログラムの大規模なコーパスを取得し、そのコーパスでDasherをロードし、Pythonプログラムを入力するための特別な目的のバージョンを作成するのは簡単です。


素晴らしい提案!私は80年代の古いニューラルネットジョックで、このサウンドは非常に有望です。
Peter Rowell、2010

8

これはプロフェッショナルソフトウェアの一部ではありませんが、これを目にしたとき、目の動きの追跡や最小限のマウスの動きを使用したテキスト入力に適していると思いました。参照ケン・パーリンの処理のページ、および「ペン入力」のためのアプレットを見て。


ありがとう!素晴らしいリンク!これは、カーソル制御で特に役立ちますが、彼にとってはまだ少し難しいと思います。これらのタイプの問題に実際に対処する必要があるまでは、これらの人々の一部が山に登っていることを理解し始めます。私たちが何も考えていないことをするためだけに、毎日エベレスト。
Peter Rowell、2010

5

対麻痺のインドのある村の誰かが、Dragon Speech to Textソフトウェアを使用して自分のコンピューターに書き込みをしている人を知っています。それがプログラマー(彼女はプログラマーではない)にどれほど適しているかはわかりませんが、それは始まりです。

また、Natural Pointを確認することもできます。それはホンザを助けるかもしれない目の制御されたマウスです

お役に立てれば


Honzaは現在Dragonをかなりうまく使っています。私たちは、プログラミングのあちこちにある特殊文字を入力する冗長な方法を扱うことに特に重点を置いていました。
Peter Rowell、2010

3

完成したiPython

Python側では、iPythonはパラメーターや関数などを表示し、コマンド補完を備えています。おそらく、さまざまな入力デバイスに対応するようにカスタマイズすることもできますか?

http://ipython.scipy.org/moin/


1

役立つかもしれない1つのこと(私はこの質問からそれを得た)はhttp://shorttalk-emacs.sourceforge.net/です。emacsと音声認識の間のインターフェースのようです。言語に関しては、PythonではなくLuaを使用することをお勧めします。英語の流れがより自然になります。


1

私はこの質問がかなり古いことを知っています。プログラミングに関して、ホンザはどうなっているのでしょうか。ご意見をお待ちしております。

それだけの価値があるので、私はRSIに悩まされており、キーボード、特にマウスの使用を最小限に抑えようとしています。

私自身の音声認識の経験では、これは機能します。Windowsに組み込まれているWindows 7(WSR)用の音声認識ソフトウェアを使用しています。また、マウスポインターの移動にボイスフィンガー(http://voicefinger.cozendey.com/)を使用しました。私が言及するいくつかの重要なポイントは次のとおりです。

ショートカットをご覧ください。ショートカットを使用してほとんどすべての操作を実行でき、「タイピングモード」(下記参照)の場合、音声認識を使用してそれらをうまく機能させることができます。

タイピングモードを使用します。テキストを口述しているのでない限り、これはコンピューターへのショートカットを話したり、奇妙な言葉を綴ったりするのに最適です。興味深いことに、これはWSRの明確な「アドバタイズ」機能ではありません。

ふりがな。タイピングモードを上手に利用するには、音声アルファベットを学習します。http//en.wikipedia.org/wiki/NATO_phonetic_alphabet 音声認識の形式を使用する場合、これなしでは現実的にうまくいくことはできません。

VIM。(または私が推測するemacs-わからない)。Vimは、マウスに触れることなくテキストを編集するのに最適です。これは、WSRを使用したテキストの編集に最適です。私自身はVIM初心者ですが、とても役に立ちます。

Webブラウジング。私の経験では、Webブラウジングはまだマウスなしでは非常に難しいことです。基本的なコマンドにアクセスするためにマウスをホバーする必要がある状況が多すぎます。これは大きな恥です。それにもかかわらず、マウスなしでブラウジングするのに役立ついくつかの本当に良いFirefoxプラグインがあります。

  1. マウスレスブラウジング:https ://addons.mozilla.org/en-us/firefox/addon/mouseless-browsing/ これは、すべてのリンクの横に数字を配置するための多くの設定オプションを備えた、きちんとした小さなツールです。次に、これらの番号を入力してリンクをアクティブ化できます
  2. Vimperator:http : //vimperator.org/これは、マウスを使用しないブラウジングよりもはるかに進んでいます。基本的には、Firefoxを制御するような完全なvimを提供します。これはマウスを使用しないブラウジングよりもうまく機能しますが、Firefoxのデフォルトの動作を変更する場合は煩わしい場合があります。

これらは私自身の個人的な体験にすぎません。本座の様子をお聞かせいただければ幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.