注:これは this または this の複製ではありません。 。
Logitech Proteus Core マウスがあります。 Windows 10では、Win + Tabキーを使用して表示できるタスクリストを表示するために、ボタンの1つ(マウスの上部にある「G9」というラベルが付いた小さなボタン)を設定しました。これは、WinキーとTabキーの両方を離しても維持されます。移動したいウィンドウをクリックすると消えます。ワークフローは次のとおりです。G9マウスボタンを押して放し、目的のウィンドウをクリックします。
Kubuntu 15.04で同様の動作が必要です。私の知る限り、キーを押さなくても、何かをクリックするまで同じようなタスクリストを表示する方法はありません。
したがって、私の考えは、このボタンでAlt + Tabをエミュレートすることでした。私が念頭に置いているワークフローは次のとおりです。G9をプッシュ(「altをプッシュ、タブをプッシュ、タブを解放」のショートカット)=>必要なウィンドウを選択し、G9をリリース(「altをリリース」のショートカット)。
問題は、私が知る限り、このG9ボタンがOSによって通常のマウスボタンとして読み取られていないことです。私が実行した場合:
xbindkeys -mk
G9ボタンをクリックすると、次の出力が表示されます。
"(Scheme function)"
m:0x40 + c:23
Mod4 + Tab
"(Scheme function)"
m:0x40 + c:133
Mod4 + Super_L
注:私はこれをテスト目的でVMで実行しています。それが物事に影響を与える可能性があるかどうかを教えてください、この場合も動作する必要があります。
私が実行した場合:
xev | grep button
興味のあるG9ボタンをクリックしても出力が表示されません。他のボタンをクリックすると、次のような出力が期待されます。
state 0x0, button 2, same_screen YES
これは奇妙ですが、xbindkeys -mk
の出力を~/.xbindkeysrc
に追加するだけでいいと思いました。
"xte 'keydown Alt_L' 'key Tab'"
m:0x40 + c:23 + Release
明らかに、これが機能したとしても、私が望んでいたことはできませんが、機能しません。実行後にG9ボタンをクリックしても何も起こりません。
xbindkeys -v -n
これはこの警告を与えます:
Xbindkeysによってキャプチャされたキーの1つをキャプチャする別のプログラムが実行されていないことを確認してください。競合があり、xbindkeysはその構成ファイルで定義されているすべてのキーを取得できないようです。
コンソールでxte
コマンドを入力すると、タスク選択のalt + tabメニューが表示されます。ただし、バインドされたマウスボタンには何もありません。
同じxte
呼び出しをxev
出力で表示される別のボタンに割り当てた場合(マウスの右ボタンを試してみました)、まだ実行されません(タブだけが実行されるようです)テキストエディターでタブで表示されます)が、警告はなくなり、ボタンの通常の機能もなくなります。
G9ボタンをクリックしたときに説明したAlt+Tab
動作を取得するにはどうすればよいですか? b:3
のようなxev
が検出する別のボタンはどうですか?
注:このマウスは、Windowsソフトウェアから作成された構成を内部的に保存します。したがって、他のすべてのボタンはVMで機能を維持します:ブラウザーで戻る/進む、ブラウザータブを切り替えるなど。
Windowsで適切なマクロを記録する方法がある場合、またはKubuntuで達成したいことを簡素化する方法がある場合(つまり、G9ボタンを使用してalt + tabと同様の機能を取得する場合)、それらも受け入れますソリューション。
evrouter
はそれを支援します。リストからタスクを選択する前にG9をリリースすることもできます。
http://www.bedroomlan.org/projects/evrouter
ソースからビルドし、checkinstall
でインストールしましたが、そこにリポジトリのように見えるものがあります。
~/.evrouterrc
で設定できます:
"Logitech Gaming Mouse G300" "/dev/input/event.*" any key/272 "Shell//home/velkan/click.sh"
"Logitech Gaming Mouse G300" "/dev/input/event.*" any key/275 "Shell//home/velkan/atab.sh"
Sudo evrouter -d /dev/input/event*
を実行してクリックすると、これらの行を構成するのに役立ちます。
"Logitech Gaming Mouse G300"
は私のマウスの名前です。
"/dev/input/event.*"
は、マウスがバインドされているデバイスファイルの名前に関係なく、入力がインターセプトされることを意味します。
any
-イベントがAlt/Ctrl/Shift修飾子で受け入れられることを意味します。
key/272
-マウスの左ボタン。
key/275
-マウスの戻るボタン(G4の場合)。
"Shell//home/velkan/click.sh"
-そのイベントが発生したときに/home/velkan/click.sh
を実行します。
したがって、/home/velkan/atab.sh
スクリプト(この場合はG4にバインドされています):
#!/bin/bash
mktemp /tmp/evr-alt-tab-XXXX
/usr/bin/xte 'usleep 100000' 'keydown Alt_L' 'usleep 50000' 'key Tab'
Altをリリースする必要があることをclick.sh
(左ボタンにバインド)に通知する一時ファイルを作成します。
click.sh
スクリプト:
#!/bin/bash
if [ -e /tmp/evr-alt-tab-???? ]; then
/usr/bin/xte 'usleep 100000' 'keyup Alt_L'
rm /tmp/evr-alt-tab-????
fi
KDEで試したことはありません。
起動スクリプト/usr/local/sbin/evrouter_launch.sh
:
#!/bin/sh
/usr/local/bin/evrouter /dev/input/event* 0<&- > /dev/null
(または、/usr/bin/evrouter
の代わりに/usr/local/bin/evrouter
になります)
/etc/lightdm/lightdm.conf
を構成して、デスクトップマネージャーでevrouterを起動します。
[SeatDefaults]
autologin-user=
session-setup-script=/usr/local/sbin/evrouter_launch.sh
Velkanの答えからのアイデアを使ってそれを完成させました。必要な手順をリストします。
まず、WindowsのG9ボタンに設定したWin+Tab
マクロは、Linuxがマウスを検出する方法を妨害していました。マウスボタンを検出する代わりに、Win
内のTab
およびxev
キーを単に検出しました。 Windowsソフトウェアでボタンを「マルチキーマクロ」として設定すると、マウスはこれらを送信するように内部で設定されていると思います。
これを修正するには、Windowsでマルチキーマクロを使用するようにボタンを設定しないでください。それを他のものに設定します。ミドルクリックに設定します。
これで、xev | grep button
がG9をボタン2
として検出しました。
このスクリプトは、Velkanのスクリプトを組み合わせた~/alttab.sh
で作成しました。
#!/bin/bash
if [ -e /tmp/alt-tab-mouse-script-???? ]; then
xte 'usleep 100000' 'keyup Alt_L'
rm /tmp/alt-tab-mouse-script-????
else
mktemp /tmp/alt-tab-mouse-script-XXXX
xte 'usleep 100000' 'keydown Alt_L' 'usleep 50000' 'key Tab'
fi
これを~/.xbindkeysrc
に追加しました。両方の状態でクリックを機能させるには、alt
がダウンしている場合とダウンしていない場合の2行が必要です。
"~/alttab.sh"
b:2 + Release
"~/alttab.sh"
Alt + b:2
これは私にとってはうまくいきました。フローは次のとおりです。G9(押して放す)をクリックし、目的のウィンドウを選択して(左クリックまたはマウスホイール)、G9をもう一度クリックしてそのウィンドウに移動します。 .sh
ファイルの最初のif
を変更して、Altキーを押す前にmouseclick 1
も送信できます。ウィンドウのG9ボタンでクリックしたウィンドウに直接移動する場合表示。
usleep
呼び出しを削除する実験も行いました。それらなしで私のために働いた。
動作はWindowsの動作とまったく同じではありませんが、十分に近いことがわかります。同じボタンで選択できるので、おそらくさらに便利です。したがって、別のボタンに指を移動する必要はありません。