私の新しいタッチスクリーンラップトップにはメニューボタンがありません(つまり、マウスの右クリックのように動作します)-通常は右のctrlの隣にあります。
タッチで左クリックできないため、この機能のAlt GRのカスタムキーボードショートカットを作成しようとしています([システム]> [キーボード]> [ショートカット]> [カスタムショートカット])
オンボードキーボード(メニューボタンがある)でxev
コマンドを使用すると、ボタン情報が次のようになることがわかりました。
KeyRelease event, serial 42, synthetic NO, window 0x4800001,
root 0xab, subw 0x0, time 2544690, (1236,607), root:(1302,1050),
state 0x0, keycode 135 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
しかし、私はこの情報をどうすればいいのか分かりません...
ところで、Ubuntu 13.04を使用しています。
どんな助けでも大歓迎です...
gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"
またはdconfエディターを使用して、(Alinaがコメントしたように)2次クリックを有効にする必要があります。
次に、Ubuntuがタッチパッドをタッチパッドのように部分的に処理する可能性があります。代わりに、ショートタップ+長押しする必要があります。
2〜3秒間画面に触れ続けると、「右メニュー」と呼ばれるものが表示されます。これは、タッチスクリーンで右クリックをエミュレートする通常の方法です。
Wacomタッチスクリーン(ドライバーxf86-input-wacom
を使用)があり、少なくとも2本の指でマルチタッチできる場合、次のようにすると右クリックが生成されます。
まだ機能しない場合は、xinput --list
からタッチスクリーンの製品名を見つけて、この機能を有効にしてください:
xsetwacom --set "[your touchscreen product id]" Gesture on
この変更を永続的にするには、 私の他の答えを参照 テクニックについて。
Gnome/Ubuntu Shellでの長押しの右クリックとは異なり、これは(レガシー)ドライバーレベルの機能であるため、すべてのデスクトップ環境で機能します。一部のプログラムでは タッチスクリーンによる左クリックで問題が発生する可能性があります であることに注意してください。これが、システムで無効にする必要がある理由です。
この質問に対する私の答えのうち、これは私の個人的なお気に入りです。
少なくとも2本指のマルチタッチ入力をサポートするタッチスクリーンがある場合は、 touchegg
をインストールし、2本指タップを右クリックとして解釈するように構成できます。これをLubuntu 18.10で試しましたが、うまくいきます。
touchegg
はUbuntu 18.10リポジトリで使用できるため、次のように簡単にインストールできます。
Sudo apt install touchegg
開始するには、touchegg
を実行します。ターミナルで実行すると、マルチタッチジェスチャを正しく検出したかどうかを出力から確認できます。
touchegg
を各LXQtセッションで自動的に開始するには、単純に自動開始に追加します(LXQtメニュー→設定→LXQt設定→セッション設定→自動開始)。
touchegg
を設定する方法touchegg
は、2つの代替方法で構成できます。
設定ファイルを使用した設定ファイル~/.config/touchegg/touchegg.conf
を編集します。変更を有効にするには、ターミナルで次を実行するか、 Alt + F2 実行ダイアログ:
killall touchegg; touchegg
GUIを使用した設定。touchegg
には、touchegg-gui
という素敵な設定GUIがあります。これは seen です。ただし、touchegg
Ubuntuパッケージの一部ではありません。または、GUI touchegg-gce
ここで説明するとおり をインストールできます。 touchegg-gce
は機能しますが、構成ファイルへの変更を保存した後、再度実行してtouchegg
を手動で再起動する必要があります。
killall touchegg; touchegg
2本指タップの右クリックを構成するには、この構成ファイルを~/.config/touchegg/touchegg.conf
に使用できます。
<touchégg>
<settings>
<property name="composed_gestures_time">0</property>
</settings>
<application name="All">
<gesture type="TAP" fingers="2" direction="">
<action type="MOUSE_CLICK">BUTTON=3</action>
</gesture>
</application>
</touchégg>
touchegg
構成に関するコメント:
上記の2本指タップの右クリックは、現在touchegg
に付属するデフォルトの構成ファイルに既に含まれています。 (Ubuntu 18.10はこちら。)
プログラムは、composed_gestures_time
(ミリ秒単位で与えられます)を待って、複数の部分(トラブルタップなど)で構成されるジェスチャのアクションを完了してから、それらを解釈します。したがって、touchegg
を2本指タップの右クリックなどのシングルパートジェスチャにのみ使用する場合は、これを0
に設定して、アクションの顕著な遅延を防ぐことができます。これは、touchegg
によって作成された構成ファイルのデフォルトでもあります。
少なくとも私のタッチスクリーンでは、両方の指でまったく同時に画面に触れると、2本指でのタップは認識されません。ただし、非常に小さな時間差(2回のタップ、おそらく10ミリ秒以上)がある場合でも、確実に機能します。そのため、人差し指と中指を画面に向かってわずかに垂直方向の隙間を空けて動かすだけで、確実に機能します。
右クリックは、最初に画面に触れた指(このジェスチャーの2本のうち)の位置でトリガーされます。
touchegg
は、カーソルの下のアプリケーションまでバブルするように構成されていないすべてのイベントをそこで解釈できるようにします。たとえば、Chromium、Chrome、Evinceに実装されているネイティブのピンチズームなどは、touchegg
を使用するよりもスムーズに機能するため、これは良いことです。
touchegg
は、(非常にお勧めです!)シングルタッチジェスチャ認識ソフトウェアと一緒に使用できます easystroke
干渉なし。もちろん、同じイベントによってトリガーされるように構成しないでください。
touchegg
は、一時停止と再開のサイクルの後に停止する場合があります。自動的に再起動する方法を見つける必要があります。
少なくとも私にとっては およびその他 、touchegg
はタッチスクリーンではなくタッチスクリーン上のタッチイベントのみを解釈します。この場合、これは望ましいことです。私のタッチパッドは、マルチタッチイベントをXサーバーに公開しないドライバーを使用している可能性があります(synaptics
ではなく、libinput
)。 GEIS_DEBUG=3 touchegg
で起動することにより、touchegg
がバインドするデバイスを確認できます。
touchegg
がすべてのプログラムで一種の「スタックハーフクリック」を引き起こす場合、タップはマウスポインターを移動しますが、左クリックをトリガーしなくなります。これは通常の動作ですnot。 LXQtを使用したUbuntu 18.10では、最初はこれがありませんでしたが、その後touchegg
を何度か再起動したり、コンピューター全体を再起動したりしました。デフォルトのUbuntuデスクトップを起動してからLXQtに戻ると消えました。
1本指でタップするために追加のジェスチャーを設定することでtouchegg
構成ファイルを修正すると、「スタックハーフクリック」が修正されますが、このバグに伴うtouchegg
のその他の誤動作は残るため、実際の修正ではありません。この誤動作には、(1)touchegg
が設定されていないすべてのイベント、少なくとも1本の指のイベントも消費するようになり、(2)いくつかのJavaベースのプログラム(freemind
など)が影響を受けるようになりました「スタックしたハーフクリック」の逆の問題から、カーソル位置はスタックしますが、マウスの左ボタンクリックは登録されます。これは、touchegg
が認識できるように、Javaベースのプログラムで2本指アクションを実行することにより一時的に修正されます。
havehave ≣ メニューキー キーボードで、それを使用して右クリックを作成することに関する質問のメモは、実際には素晴らしいアイデアです。明らかではないので、以下にその仕組みを示します。
1本の指で画面をタップアンドホールドします。指を離さないでください。左クリックがトリガーされます。あなたの申請。ただし、タップアンドホールドは、マウスの左ボタンを押して放さないようなもので、通常はアプリケーションでアクションが発生しません。ただし、マウスポインターの位置は既に右クリックする場所に変更されているため、この手順を実行します。
を押して放します ≣ メニューキー。すでにキー押下イベントで、右クリックがトリガーされます。
明らかに、この手法には両手が必要であり、タブレットモードのコンバーチブルノートブックでは完全に不可能です。そのため、実際の使用は限られています。
easystroke
を使用して、次のような修飾子とタップを使用して右クリックを作成できます。 Ctrl + Alt +タップします。追加の設定を行うと、タッチスクリーンだけでこれに片手でアクセスできます。以下を参照してください。
右クリックとしての「修飾子とタップ」はtouchegg
(修飾子を認識しない)、mouseemu
(スキャンコードがないためタップを認識しない)、またはxsetwacom "…" set Button 1 …
(しない指入力はドライバーのボタンイベントではないため、タップを認識します)。
easystroke
プログラムは現在最小限に維持されていますが、 リリースノート では、Ubuntu 18.04でビルドされた最近のUbuntuパッケージにリンクしています。私にとってはうまくいきました(Ubuntu 18.10はこちら)。次のようにインストールできます。
wget http://openartisthq.org/easystroke/easystroke_0.6.0-0ubuntu8_AMD64.deb
Sudo apt install ./easystroke_0.6.0-0ubuntu8_AMD64.deb
easystroke
を使用してプログラムを開始します。
2番目のタブ「設定」の下で、「ジェスチャーボタン」をクリックし、 Ctrl + Alt +灰色のフィールドをタップします。 Ctrl + Alt 少なくともLXQtの下では、修飾子の最適な選択のようです。
easystroke
に割り当てられている場合はその選択ができなくなります。easystroke
には表示されません。これはおそらくLXQtまたはOpenboxの構成の問題ですが、これまでのところ解決できませんでした。最初のタブ「アクション」の下で、「アクションの追加」をクリックします。
「タイプ:コマンド」と「詳細:xdotool keyup ctrl alt; xdotool click 3
」でアクションを設定します。選択した修飾子に従って適応します。
修飾子に応じて、副作用を防ぐために最初に修飾子をクリアすることが重要です。例えば Shift + Chromeを右クリックすると、テキストが選択されます。また、ソフトウェアでこれらのキーを押したときに修飾子がスタックしないように、修飾子を明示的にクリアする必要があります(以下のセクション3を参照)。コマンドを実行する前に修飾子を単独でクリアしないことは、easystroke
のバグと見なすことができます。
「ストロークの記録」をクリックして、シングルタップを記録します。
[設定]→[外観]→[ポップアップを表示]で(ここではかなり役に立たない)ポップアップを無効にできます。
このジェスチャ認識は、[詳細設定]→[デバイス]でタッチスクリーンとペン入力デバイスのみに制限できます。
さて、 Ctrl + Alt +タップすると、右クリックが作成されます。
easystroke
には、タッチスクリーンの使用中に多くのタスクを自動化するために使用できるシングルタッチジェスチャ(「画面に図形を描く」)のための優れたジェスチャ認識があります。これが主な目的ですが、右クリックエミュレーションは単なる副作用です。
この設定を改善して、(1)「次のタップは右クリック」を意味する特別な画面上のボタンをタップし、(2)次にタップすることで、片手とタッチスクリーンで右クリックをトリガーできるようにします。通常どおり画面に表示されます。
以下はLubuntu(LXQt)のレシピであり、 Ctrl + Alt 上記の修飾子を選択しますが、原則はすべてのデスクトップ環境とすべての修飾子で同じです:パネルのカスタムクイック起動エントリ。
クイック起動エントリのカスタムアイコンを作成し、~/.icons/default/rightclick.png
として保存します。
次の内容で、カスタム.desktop
ファイルを作成し、.local/share/applications/rightclick.desktop
として保存します。絶対パスにusername
を指定する必要があることに注意してください。
[Desktop Entry]
Name=Rightclick
Comment=Next tap is a rightclick via Ctrl + Alt + easystroke gesture.
Icon=/home/matthias/.icons/default/rightclick.png
Exec=xdotool keydown ctrl alt
Type=Application
Categories=System;Utility;
StartupWMClass=localdomain.rightclick
別のクイック起動ウィジェットをLXQtパネルに追加します。原則として既存のものを変更することもできますが、画面の右下隅に配置されたものは右手操作で最も自然であり、偶発的なミスクリックは日付のみを表示します(それが隣にある場合私の場合のように)いくつかの大きなアプリケーションを起動する代わりに。
~/.config/lxqt/panel.conf
を開き、新しい[quicklaunch2]
セクションを調整して、カスタム.desktop
ファイルを参照します。繰り返しますが、username
を指定する必要があります。外観例:
[quicklaunch2]
alignment=Left
apps\1\desktop=/home/username/.local/share/applications/rightclick.desktop
apps\size=1
type=quicklaunch
LXQtパネルを再起動して、変更を有効にします。そのために:
(また、killall lxqt-panel && lxqt-panel
を実行することもできます Alt + F2 ダイアログを起動しますが、それは上記のダイアログで認識されるパネルステータスに干渉します。両方のテクニックを組み合わせた場合、2つのパネルが互いに重なり合って、1つのパネルアイコンが欠落します。しないでください。これはまだバグがあります。)
また、タッチスクリーンの側面に特別なハードウェアボタンがある場合は、代わりにxdotool keydown ctrl alt
コマンドをそれらのいずれかに割り当てることができます。
ニースの副作用として、上記のタッチのみの右クリックの手法は、easystroke
で設定した他のすべてのジェスチャーへの片手アクセスも可能にします。これは、タッチスクリーンの使用を自動化するための非常に強力な機能です。
easystroke
で他のジェスチャーを構成する場合、次のバグに注意してください。easystroke
は、構成されたアクションを実行する前に、選択した修飾子をクリアしません。アクションタイプ「キー」と「テキスト」はすべて、キーの組み合わせになります Ctrl + Alt 上記の場合、使用できなくなります。回避策として、代わりにアクションタイプ「コマンド」を選択し、上記と同じ方法で修飾子を自分でクリアします。だからトリガーする Ctrl + V、コマンドは次のようになります。
xdotool keyup ctrl alt; xdotool key "ctrl+v"
(xdotool
オプション--clearmodifiers
は、キーの組み合わせ中に修飾子を無効にして実行し、後で再適用するだけなので、ここでは役に立ちません。この場合、上記の手法に従って次のタップを右クリックします。 、しかしこの場合はそれは望ましくありません。)
テスト中にモディファイヤをスタックしたことがある場合、物理キーボードのモディファイヤキーを押して放すと、状態が修正されます。
これらのテスト中に、LXQtのキーボードイベントとマウスイベントが非常に混乱することがあります。このような場合、グラフィカル環境からログアウトして再度ログインするだけで役立ちました。
ここで必要な右クリックの場合を含め、easystroke
で片手タッチのみの操作を実装する最もクリーンな方法は、easystroke
パネルアイコンをタップすると、構成されたカスタムパネルアイコンと同じ内部状態になります上記ですが、without実際にキーボードモディファイヤの状態を変更すると、モディファイヤのスタックなどにつながる可能性があります。easystroke
ウィンドウを表示するには、パネルアイコンのコンテキストメニュー。明らかに、それにはeasystroke
コードのいくつかの変更が必要です。