できればxmodmapを使用して、キーボードのボタンをマウスクリックのように動作させたいと思います。どうすればいいのですか?
Ubuntu10.10を実行しています。
次の手順は、キーボードのキーをマウスボタンに再配線するのに役立ちます。
xev
ユーティリティを使用してキーボードキーを識別します。
Xevユーティリティを実行し、再配線するキーボードキーを押すと、次のように出力されます。
KeyPress event, serial 37, synthetic NO, window 0x3e00001,
root 0x82, subw 0x0, time 28977858, (-419,294), root:(175,613),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
再マッピングされるキーコードに注意してください。
Xkbsetユーティリティを実行します
xkbset m
Xmodmapユーティリティを使用して再マップします。
以下の場合、メニューキーはマウスの右ボタンに再マップされます。
xmodmap -e "keycode 135 = Pointer_Button3"
XmodmapとPointer_Button1キーマップを使用してこれを実現できると思います。
ファイル/usr/include/X11/keysymdef.hで正確なスペルと大文字の使用を確認しますが、ダブルクリック(1、2、3など)でもキーボードキーをマウスボタン(1、2、3など)にマップできるはずです。 460行目あたりのヘッダーファイルを参照してください)
keysym W = Pointer_Button1
動作する可能性があり、Wキーがマウスの左ボタンとして機能します。 Wを使用しない場合を除いて、別のキーを使用することをお勧めします。 (いいえ、自分で試すつもりはありません。Wが必要です!)
また、xmodmapのマニュアルページ、および/usr/include/X11/keysymdef.hの内容を確認して、スペルを正しく確認してください。 xmodmapのkeysym名を使用するには、XK_プレフィックスを削除します。
私のDebianシステムのx11-proto-core-devパッケージにある(keysymdef.h)のようです...ファイルとその内容をオンラインで検索したい場合がありますが、関連するすべての-devファイルをインストールしたいのではないかと思います。それを入手してください。 GIYF。
これを行う別の方法について頭の後ろで何かがくすぐりますが、今は何も来ていません。
ああ!必要に応じて、テンキーをフル機能の2ボタン(スクロールホイールなし!)マウスに変えるキーボードマウスエミュレーションを調べることができます。
組み込みの「キーボードマウスエミュレーション」モードはこれを行うことができますが、さまざまなマウスのクリックとプレスをエミュレートするための事前設定されたキーの組み合わせがあります(ドラッグ用) )。
(参考:これをオンにするためのキーの組み合わせは デフォルトのキーマップから削除されました しばらく前からあり、現在はOption XkbOptions "keypad:pointerkeys"
が必要です。)
このモードをオンにする方法は、キーを押すことだけではありません。
xkbset m
これは http://crunchbang.org/forums/viewtopic.php?id=27937 に従って行い、厄介なタイムアウトを制御したり、コマンドラインからオフにしたりすることができます。厄介なタイムアウトをオフにするには:
xkbset exp =m
したがって、xkbset
は、(このモードをオンにするためだけのキーを持つよりも)本当に便利です。xkbset
を使用すると、優先タイムアウトなどをより細かく制御できるからです。
テンキーが使用されます。いくつかの基本的な組み合わせ(詳細は http://en.linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg :
/
、*
、-
は、左、中央、または右のボタンを選択するためのものです。5
は、選択済みボタンをクリックするためのものです。0
および.
は、選択されたボタンを押して放すためのものです(ドラッグなど)「キーボードマウスエミュレーション」を常に有効にできませんでした。そのため、これを行うために特別なキー(keypad:pointerkeys
など)に依存しました。
Xfceも起動時にこれらの設定をいじっていたことがわかったので、Xfceの前にxkbset m
を実行すると、設定はアクティブになりません。したがって、全体的な希望に合わせてXfce構成の設定を変更する必要がありました。つまり、Xfce設定:アクセシビリティ:マウス:エミュレーションを有効にする。 (そのようなXfceオプションの存在について私が学んだ情報源は: https://bugzilla.xfce.org/show_bug.cgi?id=386 でした。)これは助けになったようです。 (タッチパッドもxinput float ...
で無効にしています。これは、Linuxコンソールを切り替えることで混乱しますが、少なくともXfce設定でこのデバイスを無効にすることで回避できます。)