ラップトップの特定のキーに中ボタン押しを割り当てるにはどうすればよいですか?


8

ラップトップの特定のキーに中央ボタンを押す方法を教えてください。タッチパッドの右上隅をタップすれば中ボタンを実行できますが、「ウィンドウ」キーや「メニュー」キーなどのキーに関連付けたいのですが。

それを行う方法はありますか?

現在の答えは、古典的なgnome-failsafeデスクトップを備えたUbuntu 11.10では機能しません。更新されたUbuntuバージョンでこれをどのように行うことができるかを理解してくれる人が必要です。

回答:


10

メニューキーを再マッピングするには、以下を実行する必要があります。

前提条件をインストールする

インストールパッケージxkbset

sudo apt-get install xkbset

キーボードレイアウトを定義する

次に、使用しているキーボードレイアウトを定義する必要があります。私の場合、イギリス/イギリスのキーボードレイアウトの場合はgb、米国の場合はus

setxkbmap -layout gb

注:実行する場合

setxkbmap -query

次のように出力されます-モデルとレイアウトがキーボードの場合、正しいレイアウトを使用しています

rules:      evdev
model:      pc105
layout:     gb

次に、マウスキーを次にマッピングすることを定義します。

xkbset m
xkbset exp =m

Menuキーコードを見つける

Menuキーをマップします。これを行うには、Menuキーコードが必要です。ターミナルランxevで、マウスを正方形の内側に移動して、Menuキーを押します。

ここに画像の説明を入力してください

最終結果

私の場合、Menuキーコードは135で、これはマウスボタン2にマッピングされます

xmodmap -e "keycode 135 = Pointer_Button2"

次のようにテストされます。

  1. 端末にテキストをコピーします-貼り付け操作が開始されました
  2. タイトルバーにマウスを合わせる-ウィンドウが背景に移動

これをまとめると:

OK、正しいキーコードが完成したら、これを組み合わせてログインから開始できます。

まず、ホームフォルダにファイルを作成します remapkeys

gedit ~/remapkeys

次をコピーして貼り付けます

#!/bin/sh
setxkbmap -layout gb
xkbset m
xkbset exp =m
xmodmap -e "keycode 135 = Pointer_Button2"

セーブ。ファイルに実行権限を与える

chmod +x ~/remapkeys

次に、ダッシュからスタートアップアプリケーションを検索するか、Gnome Classicを使用している場合-アプリケーション-その他-スタートアップアプリケーション

新しいスタートアップアプリケーションのエントリを追加する

ここに画像の説明を入力してください

コマンドは次のようになります。

bash -c "sleep 5 && ~/remapkeys"

コマンドは5秒間スリープして、新しいスクリプトを実行する前にデスクトップが表示されるようにします。デスクトップが5秒以内に表示されない場合(遅いネットブックを使用している場合など)、このタイムアウトを10秒または15秒に増やします。ログアウトしてログインし、テストします。


これらの手順を実行した後、バインドは永続的である必要がありますか、または再起動するたびにロードされるようにどこかに置く必要がありますか?
719016

確かに永続的ではありません-スクリプトにステートメントを追加して、スタートアップアプリケーションの一部として実行し、ログイン時に実行します。答えはあなたのために働きますか-私のテストでそれはしました...
fossfreedom

それは機能しますが、あなたが言うように恒久的ではありません
719016

...明確にしていない場合に備えて、ログインから回答にこれを開始する方法を追加しました。
fossfreedom

Doeはドラッグアンドドロップを許可しますか?
Vitor Abella

5

まず、xautomationをインストールします。

sudo apt-get install xautomation

xteを使用してミドルクリックイベントを送信できます。

xte 'mouseclick 2'

そのためのカスタムショートカットを[設定]-> [キーボードショートカット](またはUnity検索の[キーボードショートカット])で作成できます。「追加」をクリックし、名前と上記のコマンドを入力して、「適用」をクリックします。一番下までスクロールし、他のアクションと同じようにショートカットを設定します。

これを試したところ、Windowsキーだけにアクションをバインドできませんでした。次のようにして試すことができますが、これが機能しないバグがあるようです:

ターミナルを開いて実行します

gconf-editor

Ctrl + fを押し、[キーの値も検索]ボックスを選択して、検索ボックスに次のように入力します。

xte 'mouseclick 2'

下部のペインには1つの結果のみが表示されます。それ以上ある場合は、名前に「/ desktop / gnome / keybindings / custom * / action」を含むものを選択します。右上のペインで、「バインディング」フィールドの横に ''(引用符なし)を入力します。私が行ったのと同じ結果が得られると、すべてのウィンドウの外観が変化し、新しいキーバインドは何もしません。それを元の状態に戻し(または空白にして)、[外観]を開きます([設定]-> [外観]または[単一検索]の[外観])。これで問題が解決します。


すごい!gconf-editorビットを実行する必要はなかったので、これまでのところ機能しており、再起動後に再確認します。THX!
719016 '26年

これは、古典的なgnome-failsafeデスクトップを備えたUbuntu 11.10では動作しなくなりました。同じことをする方法があるに違いない。
719016

1

他の人のために(自分のマウスを探しているときにこれを数回見つけたため)、一部のLogitechマウスにはいくつかのボタン(MX1100ではデフォルトで「DPI +/-」ボタン)があり、送信しないことに注意してくださいUSBレシーバーへの信号。

これをオーバーライドして、ボタンが押されたことをマウスがマウスドライバーに報告するようにマウスを設定することは可能ですが、プロセスはユーザーフレンドリーに近いものではありません(またはマウスごとに異なるように見えるため、簡単に複製できません)。"lomoco"パッケージは明らかに一部のユーザーには機能しますが、しばらく新しいマウス用に更新されていません。

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