トラックポイントとマウスのエミュレーションについて

なぜこれが必要なのか、プログラムで実装する方法



たくさんの推論



ドッキングステーションのセットアップに関する以前の記事で、「コンシューマ」セグメントのラップトップを使用しなければならなかったことがかつてないほど難しいことを述べました。 ドッキングポートがなく、家に帰ったり仕事をするたびにたくさんのケーブルを接続したりする必要があります。これはすべて不快で面倒なことですが、実際に苦労したのはトラックポイントの欠如でした。 IBM / Lenovo(HPおよびDELLの場合は青またはグレー)。 詳細は、同じウィキペディアで読むことができます。



なぜ必要なのですか? コードの記述やコマンドシェルでの作業に関係なく、ほとんどの操作がキーボードから実行される場合、グラフィックカーソルを移動してそこをクリックするために手を動かす必要はあまりありません。







マウスを使用するのが特に嫌いなのは、モニターから十分な距離(最大2メートル)で作業し、ひざにキーボードを置く習慣です。 ここで素晴らしいミニジョイスティックが助けになります:グラフィックカーソルを操作するために、ブラシ全体がホームの列を離れる必要はありません。右手または左手の人差し指を動かすだけで、キーは親指の下にあります。 わかりやすくするために、IBMの古いビデオを紹介します。







問題は、現時点ではそのようなデバイスを備えたまともなキーボードを見つけるのが難しくなっていることです。Unicompのみが商業的にそれらを製造していますが、キーボード自体は非常にかさばり、クラシックな104キーレイアウトです。



Lenovoのモデルは、主にサーバーラックでの使用に焦点を当てています(つまり、ほとんどの場合、コンソールに接続されており、コンソールに接続されています)。







3つのIBM / Lenovoキーボードの中で最も温かいのは、スペースセーバー2です。約8年間使用しても剥がれなかった、十分に頑丈で粗いプラスチック、丈夫な脚、ゴム製インサート。 このキーボードの欠点は、まさに1つです。それは、すべての結果を伴う膜でもあります。



Unix環境で使用するときに非常に便利なのは、トラックポイント付きのキーボードのいわゆる60%が文字通り1つである: Tex YodaGuru-boardであり、シリアルキーボードよりもカスタムである可能性が高いです。









一般に、今日のトラックポイント愛好家にとっては困難です。選択肢は非常に限られています。 IBMからモデルMの珍品を探すか、Unicompを購入するか、Lenovoシザーメンブレンで満足する必要があります(ちなみに、あまり安くはありません)。







したがって、このトラックポイント自体をエミュレートするのが良いという考えが生まれました。 つまり、キーボードからグラフィックカーソルの動きを制御します。



いくつかの設定



Xシステムに必要な機能が存在していたことをすぐに思い出しました。テンキー(Shift + Numlockによるアクティブ化)を使用して、グラフィックカーソルを制御できます。



確かに、私はずっと前にnampadでキーボードを使用していませんでした。また、ブラシを前後に引っ張るのはそうではありません。 したがって、この方法は適していません。 私たちは他の方法で行きます。



そのようなユーティリティがあります:キーストロークとマウスの動きをエミュレートできるxdotool。 マウスの動きをシミュレートするだけでなく、マウスとキーボードのアクションを自動化するのにも適しています。



そのため、シナリオは単純です。xdotool呼び出しを必要なパラメーターとともにホットキーにバインドするか、追加のキーボードモードを入力します。



インストール:

#apt-get install xdotool
      
      







私はi3ウィンドウマネージャーを使用しているため、例を示します。 キーチェーンと変更された入力の両方に使用できるキーボードモードを作成することは、WMの喜びです。

 mode "name"{ bindsym <key> action bindsym <key> mode "default" #  } bindsym <key> mode "name" #  
      
      







マウスカーソルを現在の位置を基準にして指定された位置に移動するには、次のコマンドを実行する必要があります。

 xdotool mousemove_relative xy
      
      







クリックをエミュレートするには:

 xdotool click [123]
      
      





1は左ボタン、2は中央ボタン、3は右ボタンです。



i3の設定は次のようになります。

 mode "rat" { bindsym f exec --no-startup-id xdotool click --delay 100 1 bindsym --release a exec --no-startup-id xdotool click --delay 100 3 bindsym --release i exec --no-startup-id xdotool key --clearmodifiers --delay 20 Shift+Insert bindsym --release l exec --no-startup-id xdotool mousemove_relative 20 0 bindsym --release h exec --no-startup-id xdotool mousemove_relative -- -20 0 bindsym --release j exec --no-startup-id xdotool mousemove_relative 0 20 bindsym --release k exec --no-startup-id xdotool mousemove_relative 0 -20 bindsym Return exec --no-startup-id xdotool click --delay 100 1; mode "default" bindsym Escape mode "default" bindsym Mod1+Escape mode "default" } bindsym Mod1+Escape mode "rat"
      
      





私は、設定に不必要なコメントは必要ないと思います:すべてがかなり明白なようです。



残念ながら、カーソルアクセラレーションを即座に実現することはできませんでした。



他のウィンドウマネージャーまたはDEを使用している場合は、 xbindkeysユーティリティをお勧めします。



トラックポイントは確かにはるかに便利ですが、毎回マウスに手を伸ばすよりも優れています。



誰かが尋ねるかもしれません:私たちがラップトップで作業しているなら、なぜタッチパッドを使わないのですか? まず、痛みを感じるまで個人的に使用するのは困難です。ホームロウから指を離さずに、強い手の親指で鈍角になったコントロールを行います。 この位置では、指がかなり早く傷つき始めます。 人差し指を突くと、やはりブラシの移動に問題があります。この場合、やはりマウスを使用する方がはるかに簡単で論理的です。 また、入力時の誤応答はひどく迷惑でした。タッチパッドはそれほど前に入力しないとオフになることを学びましたが、それだけではありませんでした。



今のところすべてです。 このようなソリューションは、一時的な対策として完全に適合します。 そして、永久に、IBM SpaceSaver 2を復元し、メカニックでリメイクする予定です。



All Articles