Bagaimana cara mengemulasi klik tombol kanan mouse pada layar sentuh?

9

Laptop layar sentuh baru saya tidak memiliki tombol menu (yaitu yang berperilaku seperti klik kanan mouse) - yang biasanya di sebelah ctrl kanan.

karena Anda tidak dapat mengklik kiri dengan sentuhan, saya mencoba membuat pintasan keyboard khusus untuk Alt GR untuk fungsi ini (di bawah Sistem> Keyboard> Pintasan> Pintasan Khusus)

Saat menggunakan xevperintah dengan keyboard onboard (yang memiliki tombol menu), saya telah mengetahui bahwa info tombolnya adalah:

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

Namun, saya tidak tahu apa yang harus dilakukan dengan info ini ...

btw saya menggunakan Ubuntu 13.04.

Bantuan apa pun akan sangat dihargai ...

Ismail Moghul
sumber
Saya memiliki masalah yang persis sama dengan aspire p3 saya, ubuntu 14.04, fungsi klik kanan tidak berfungsi dengan layar sentuh :(
user65390
@ user65390 Anda sudah mencoba jawaban freddi schiller ...
Ismail Moghul
1
Anda harus mengedit pertanyaan ini untuk menghapus geekyness. Cukup katakan, bagaimana cara klik kanan pada layar sentuh? Pertanyaannya, yang sekarang dijawab tampaknya terlalu teknis untuk benar-benar cocok dengan jawaban
Bhikkhu Subhuti

Jawaban:

12

Anda perlu mengaktifkan klik sekunder (seperti komentar AliNa) dengan gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"atau dengan editor dconf.

Maka ada kemungkinan bahwa Ubuntu menangani layar sentuh sebagian seperti touchpad, di mana sentuhan tidak memicu pers mouse. Alih-alih, Anda perlu mengetuk + sentuh dan tahan sebentar.

Freddi Schiller
sumber
Sayangnya, teknik ini terbatas pada lingkungan desktop berbasis Gnome3, seperti stok Ubuntu. Tekan lama untuk klik kanan juga berfungsi di Chrome / Chromium di luar kotak, tetapi hanya karena melakukan penanganan sendiri terhadap acara sentuh.
tanius
6

Teruslah menyentuh layar selama 2 atau 3 detik dan apa yang disebut "menu kanan" akan muncul. Ini adalah cara normal untuk meniru klik kanan pada layar sentuh apa pun.

Radu Rădeanu
sumber
1
Anda mungkin harus mengaktifkan klik sekunder terlebih dahulu, hanya dengan gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"atau melalui Editor Dconf.
AliN
Saya memasukkan perintah di atas ke terminal dan kemudian bahkan pergi ke pengaturan universal dan mengurangi penundaan penerimaan ke min. namun ini masih tidak menyelesaikan masalah - ketika saya menggunakan mouse, menu muncul tetapi ketika menggunakan layar sentuh tidak berfungsi ...
Ismail Moghul
1
@IsmailM Kemudian, saya pikir Anda harus membicarakan hal ini dengan penjual / produsen Anda ...
Radu Rădeanu
@ RaduRădeanu Saya membawa laptop ini dari john lewis dengan Windows 8 di atasnya (dan fungsi layar sentuh berfungsi dengan baik di windows 8). Apakah Anda masih berpikir saya harus mengobrol dengan mereka karena saya menginstal ubuntu sendiri ...
Ismail Moghul
@ IsmailM Ya, Anda harus.
Radu Rădeanu
1

Jika Anda memiliki layar sentuh Wacom (menggunakan driver xf86-input-wacom) dan mampu melakukan setidaknya dua jari multi-sentuh, maka yang berikut akan menghasilkan klik kanan:

  1. Ketuk dan tahan dengan jari pertama.
  2. Sekarang ketuk dengan jari kedua.

Jika belum berfungsi, cari tahu nama produk layar sentuh Anda dari xinput --listdan kemudian aktifkan fitur ini dengan:

xsetwacom --set "[your touchscreen product id]" Gesture on

Untuk membuat perubahan ini permanen, lihat jawaban saya yang lain untuk teknik ini.

Berbeda dengan klik kanan tekan lama di bawah Gnome / Ubuntu Shell, ini bekerja di semua lingkungan desktop karena ini merupakan fitur tingkat driver (lawas). Perlu diketahui bahwa itu dapat menyebabkan masalah dengan mengklik kiri oleh layar sentuh di beberapa program, itulah sebabnya saya harus menonaktifkannya di sistem saya.

tanius
sumber
0

Bagi mereka yang memiliki tombol Menu di keyboard mereka, catatan dalam pertanyaan tentang penggunaan itu untuk membuat klik kanan sebenarnya adalah ide bagus. Karena tidak jelas, inilah cara kerjanya:

  1. Ketuk dan tahan layar dengan satu jari. Jangan lepaskan jari, karena itu akan memicu klik kiri, yang mungkin memiliki efek yang tidak diinginkan dalam aplikasi Anda. Namun, ketuk-dan-tahan seperti menekan dan tidak melepaskan tombol kiri mouse, dan biasanya tidak ada tindakan dalam hasil aplikasi dari itu. Tapi, posisi penunjuk tetikus sudah berubah ke tempat kami ingin mengklik kanan, itulah sebabnya kami melakukan langkah ini.

  2. Tekan dan lepaskan tombol Menu. Sudah di acara pers tombol, klik kanan dipicu.

Jelas, teknik ini membutuhkan dua tangan, dan sama sekali tidak mungkin pada notebook konversi dalam mode tablet. Jadi penggunaan praktisnya terbatas.

tanius
sumber
0

Dari jawaban saya untuk pertanyaan ini, ini adalah favorit pribadi saya.

Jika Anda memiliki layar sentuh yang mendukung setidaknya input dua sentuhan multi-jari, Anda dapat menginstal toucheggdan mengonfigurasinya untuk menginterpretasikan (misalnya) ketuk dua jari sebagai klik kanan. Saya mencoba ini di bawah Lubuntu 18.10 dan berhasil.

1. Instalasi

touchegg tersedia di repositori Ubuntu 18.10, sehingga Anda dapat menginstalnya seperti ini:

sudo apt install touchegg

Untuk memulainya, jalankan touchegg. Saat menjalankannya di terminal, Anda dapat memeriksa dari outputnya jika mendeteksi gerakan multitouch Anda dengan benar.

Untuk toucheggmemulai secara otomatis untuk setiap sesi LXQt, cukup tambahkan ke Autostart (menu LXQt → Preferensi → Pengaturan LXQt → Pengaturan sesi → Autostart).

2. Cara mengkonfigurasi touchegg

Anda dapat mengonfigurasi toucheggdengan dua cara alternatif:

  • Konfigurasi dengan file konfigurasi. Edit file ~/.config/touchegg/touchegg.conf. Untuk membuat perubahan efektif, jalankan yang berikut di terminal atau melalui dialog Alt+ F2run:

    killall touchegg; touchegg
    
  • Konfigurasi dengan GUI. toucheggmemiliki konfigurasi GUI yang bagus touchegg-gui, yang terlihat di sini . Namun, ini bukan bagian dari toucheggpaket Ubuntu. Atau, Anda dapat menginstal GUI touchegg-gce seperti yang dijelaskan di sini . touchegg-gceberfungsi, tetapi Anda harus memulai ulang secara manual toucheggsetelah menyimpan perubahan pada file konfigurasinya, lagi dengan menjalankan:

    killall touchegg; touchegg
    

3. Konfigurasi untuk meniru klik kanan

Untuk mengonfigurasi klik kanan dua jari, Anda dapat menggunakan file konfigurasi ini untuk ~/.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>

Komentar pada toucheggkonfigurasi:

  • Ketuk kanan dua-jari seperti yang ditunjukkan di atas saat ini sudah terkandung dalam file konfigurasi default yang disertakan touchegg. (Ubuntu 18.10 di sini.)

  • Program ini akan menunggu composed_gestures_time(diberikan dalam milidetik) agar Anda dapat menyelesaikan tindakan Anda untuk gerakan yang terdiri dari beberapa bagian (seperti ketukan touble), dan baru kemudian menafsirkannya. Jadi ketika menggunakan touchegghanya untuk gerakan satu bagian seperti ketukan dua jari ketuk, kita dapat mengatur ini 0untuk mencegah keterlambatan yang terlihat dalam tindakan. Ini juga merupakan default dalam file konfigurasi yang dibuat oleh touchegg.

  • Paling tidak dengan layar sentuh saya, ketukan dua jari tidak dikenali saat menyentuh layar dengan kedua jari pada waktu yang bersamaan. Tetapi ketika ada jeda waktu yang sangat kecil (sehingga dua ketukan dapat didengar, mungkin ≥10 ms), ia bekerja dengan andal. Jadi saya hanya memindahkan jari telunjuk dan jari tengah saya dengan celah vertikal kecil ke arah layar, dan itu berfungsi dengan baik.

  • Klik kanan akan dipicu di lokasi jari itu (dari dua gerakan ini) yang menyentuh layar terlebih dahulu.

  • toucheggmemungkinkan semua peristiwa yang tidak dikonfigurasikan untuk balon hingga aplikasi di bawah kursor untuk ditafsirkan di sana. Ini bagus karena pinch-zoom dll. Diterapkan di Chromium, Chrome, Evince misalnya berfungsi jauh lebih lancar daripada via touchegg.

  • toucheggdapat digunakan bersama perangkat lunak pengenalan gerakan satu sentuhan (sangat dianjurkan!) easystroketanpa gangguan. Tentu saja, mereka tidak boleh dikonfigurasi untuk dipicu oleh peristiwa yang sama.

4. Pemecahan masalah

  • toucheggdapat berhenti bekerja setelah siklus penundaan dan lanjutkan. Saya masih harus menemukan cara agar restart secara otomatis.

  • Setidaknya bagi saya dan orang lain , touchegghanya akan menginterpretasikan acara sentuh pada layar sentuh, bukan pada touchpad. Dalam hal ini yang diinginkan. Mungkin karena touchpad saya menggunakan driver yang tidak mengekspos peristiwa multi-touch ke server X ( synapticsbukan libinput). Anda dapat memeriksa perangkat mana yang toucheggterikat dengan memulainya GEIS_DEBUG=3 touchegg.

  • Jika toucheggmenyebabkan semacam "klik setengah macet" untuk semua program, di mana ketukan akan menggerakkan penunjuk tetikus tetapi tidak lagi memicu klik kiri: ini bukan perilaku normalnya. Di bawah Ubuntu 18.10 dengan LXQt, saya tidak memiliki ini pada awalnya, tetapi kemudian memilikinya di beberapa re-mulai toucheggdan bahkan restart seluruh komputer. Hilang setelah memulai desktop Ubuntu default dan kemudian kembali ke LXQt.

    Perbaikan dalam toucheggfile konfigurasi dengan mengatur gerakan tambahan untuk mengetuk satu jari akan memperbaiki "klik setengah macet", tetapi perilaku buruk lain toucheggyang menyertai bug ini tetap ada, jadi ini bukan perbaikan yang nyata. Kelakuan buruk itu mencakup bahwa (1) toucheggsekarang juga akan mengkonsumsi semua peristiwa yang tidak dikonfigurasikan untuk, setidaknya untuk satu jari, dan (2) beberapa program berbasis Java ( freemindmisalnya) sekarang akan mengalami masalah terbalik dengan "setengah macet". klik ", di mana posisi kursor akan macet tetapi klik tombol kiri mouse akan mendaftar. Ini sementara diperbaiki dengan melakukan aksi dua jari dalam program berbasis Java, untuk toucheggdikenali.

tanius
sumber
0

Anda dapat menggunakan easystrokeuntuk membuat klik kanan dengan pengubah plus ketuk, seperti Ctrl+ Alt+ ketuk. Dengan konfigurasi tambahan, ini dapat diakses sendiri dengan hanya menggunakan layar sentuh, lihat di bawah.

Ini cukup bagus, karena "pengubah plus ketukan" sebagai klik kanan tidak dapat dikonfigurasikan dengan salah satu dari touchegg(tidak mengenali pengubah), mouseemu(tidak mengenali keran karena kekurangan skancode) atau xsetwacom "…" set Button 1 …(tidak mengenali keran karena masukan jari tidak acara tombol di driver).

1. Instalasi

easystrokeProgram hanya dikelola secara minimal sekarang, tetapi dalam catatan rilis mereka terhubung ke paket Ubuntu baru-baru ini, dibangun di Ubuntu 18.04. Ini bekerja dengan baik untuk saya (Ubuntu 18.10 di sini). Anda dapat menginstalnya sebagai berikut:

wget http://openartisthq.org/easystroke/easystroke_0.6.0-0ubuntu8_amd64.deb
sudo apt install ./easystroke_0.6.0-0ubuntu8_amd64.deb

2. Konfigurasi

  1. Mulai program dengan easystroke.

  2. Di bawah tab kedua "Preferensi", klik "Tombol Gerakan" dan Ctrl+ Alt+ ketuk bidang abu-abu. Ctrl+ Alttampaknya menjadi pilihan terbaik pengubah, paling tidak di bawah LXQt, karena:

    • Baik Shift+ klik dan Ctrl+ klik sudah digunakan untuk banyak pilihan dan tidak akan tersedia untuk itu jika ditugaskan easystroke.
    • Alt, Superdan kombinasi apa pun yang melibatkan Supertidak akan dilihat oleh easystroke. Ini mungkin masalah konfigurasi LXQt atau Openbox, tapi saya tidak bisa menyelesaikannya sejauh ini.
  3. Di bawah tab pertama "Tindakan", klik "Tambahkan Aksi".

  4. Konfigurasikan tindakan Anda dengan "Ketik: Perintah" dan "Detail: xdotool keyup ctrl alt; xdotool click 3". Beradaptasi sesuai dengan modifier yang Anda pilih.

    Tergantung pada pengubah, membersihkan pengubah terlebih dahulu adalah penting untuk mencegah efek samping. Misalnya Shift+ klik kanan di Chrome akan menyebabkan pemilihan teks. Juga, membersihkan pengubah secara eksplisit diperlukan untuk mencegah pengubah yang macet ketika memicu penekanan tombol ini dengan perangkat lunak (lihat bagian 3 di bawah). Tidak menghapus pengubah sendiri sebelum menjalankan perintah dapat dianggap sebagai bug easystroke.

  5. Klik "Rekam Stroke" dan rekam satu ketukan.

  6. Anda dapat menonaktifkan popup (di sini agak tidak berguna) di bawah "Preferensi → Tampilan → Tampilkan Popup".

  7. Anda dapat membatasi pengenalan gerakan ini hanya pada layar sentuh dan mungkin perangkat input pena di bawah "Advanced → Devices".

Sekarang, Ctrl+ Alt+ ketuk akan membuat klik kanan.

Catatan yang easystrokememiliki pengenalan gerakan yang bagus untuk gerakan satu sentuhan ("menggambar bentuk pada layar") yang dapat Anda gunakan untuk mengotomatiskan banyak tugas saat menggunakan layar sentuh. Itulah tujuan utamanya, sementara emulasi klik kanan hanyalah efek samping.

3. Peningkatan: klik kanan hanya sentuh

Sekarang mari kita tingkatkan konfigurasi ini sehingga Anda dapat memicu klik kanan hanya dengan satu tangan dan layar sentuh dengan (1) mengetuk tombol layar khusus yang berarti "ketuk berikutnya adalah klik kanan" dan (2) kemudian mengetuk di layar secara normal.

Berikut adalah resep untuk Lubuntu (LXQt) dan menggunakan pengubah Ctrl+ yang Altdipilih di atas, tetapi prinsipnya sama di semua lingkungan desktop dan dengan semua pengubah: entri quicklaunch khusus di panel.

  1. Buat ikon khusus untuk entri quicklaunch Anda dan simpan sebagai ~/.icons/default/rightclick.png.

  2. Buat .desktopfile khusus dan simpan sebagai .local/share/applications/rightclick.desktop, dengan konten berikut. Perhatikan bahwa Anda harus menyediakan usernamejalur absolut.

    [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
    
  3. Tambahkan widget quicklaunch lain ke panel LXQt Anda. Meskipun pada prinsipnya Anda juga dapat memodifikasi yang sudah ada, saya menemukan bahwa satu yang ditempatkan di sudut kanan bawah layar adalah yang paling alami untuk operasi tangan kanan dan juga kesalahan klik yang tidak disengaja hanya akan menunjukkan tanggal (jika itu yang ada di sebelah kiri, seperti dalam kasus saya) alih-alih memulai beberapa aplikasi besar.

  4. Buka ~/.config/lxqt/panel.confdan sesuaikan bagian baru [quicklaunch2]untuk merujuk ke .desktopfile khusus Anda . Sekali lagi, Anda harus memasok username. Contoh tampilannya:

    [quicklaunch2]
    alignment=Left
    apps\1\desktop=/home/username/.local/share/applications/rightclick.desktop
    apps\size=1
    type=quicklaunch
    
  5. Mulai ulang panel LXQt untuk membuat perubahan efektif. Untuk itu:

    1. Pergi ke "menu LXQt → Preferensi → Pengaturan LXQt → Pengaturan sesi".
    2. Pilih "Pengaturan Dasar → Modul LXQt → Panel".
    3. Klik "Stop".
    4. Klik "Mulai".

     

    (Anda juga dapat mengeksekusi killall lxqt-panel && lxqt-paneldi dialog peluncuran Alt+ F2, tetapi itu akan mengganggu status panel yang dikenali dalam dialog yang disebutkan di atas, dan jika Anda mencampur kedua teknik Anda akan memiliki dua panel yang berjalan di atas satu sama lain, dengan satu hilang beberapa panel ikon. Jadi lebih baik jangan. Ini masih bermasalah.)

Selain itu, jika Anda memiliki tombol perangkat keras khusus di sisi layar sentuh, Anda dapat menetapkan xdotool keydown ctrl altperintah untuk salah satunya.

4. Perbaikan dan pemecahan masalah lainnya

  • Sebagai efek samping yang bagus, teknik di atas untuk klik kanan hanya sentuh juga memungkinkan akses satu tangan ke semua gerakan lain yang mungkin telah Anda konfigurasi easystroke. Itu fitur yang cukup kuat untuk otomasi penggunaan layar sentuh.

  • Saat Anda mengonfigurasi gerakan lain easystroke, perhatikan bug berikut ini: easystroketidak menghapus pengubah pilihan kami sebelum melakukan tindakan yang dikonfigurasi. Jenis tindakan "Kunci" dan "Teks" semua menghasilkan kombinasi tombol bersama dengan Ctrl+ Altdalam kasus di atas, yang membuatnya tidak dapat digunakan. Sebagai solusinya, pilih tipe tindakan "Command" dan kosongkan pengubah sendiri dengan cara yang sama seperti di atas. Jadi untuk memicu Ctrl+ V, perintahnya adalah:

    xdotool keyup ctrl alt; xdotool key "ctrl+v"
    

    ( xdotoolOpsi --clearmodifierstidak membantu di sini karena hanya menonaktifkan pengubah selama kombinasi tombol untuk mengeksekusi dan menerapkannya kembali sesudahnya. Yang mana dalam hal ini akan membuat ketukan berikutnya klik kanan sesuai teknik di atas, tetapi kami tidak ingin bahwa dalam hal ini.)

  • Jika Anda pernah memiliki pengubah yang macet selama pengujian, menekan dan melepaskan tombol pengubah pada keyboard fisik akan memperbaiki kondisi.

  • Terkadang selama pengujian hal-hal ini, LXQt saya acara keyboard dan mouse saya akan menjadi sangat kacau. Dalam kasus seperti itu, hanya keluar dari lingkungan grafis dan masuk lagi membantu.

  • Cara terbersih untuk menerapkan operasi sentuh-sendiri dengan satu tangan easystroke, termasuk untuk kasus klik kanan seperti yang disyaratkan di sini, adalah bahwa ketukan pada easystrokeikon panel membawanya ke keadaan internal yang sama dengan ikon panel khusus kami yang dikonfigurasi di atas, tetapi tanpa benar - benar mengubah keadaan pengubah keyboard karena itu dapat menyebabkan pengubah macet dll. Untuk menampilkan easystrokejendela, kita harus menggunakan menu konteks ikon panelnya. Jelas, itu memerlukan beberapa perubahan dalam easystrokekode.

tanius
sumber