GNU/Linux >> Belajar Linux >  >> Linux

Memanipulasi X Key Dan Pointer Grabs Di Command Line?

Alat baris perintah apa yang ada untuk mendaftar dan mengelola pengambilan server X? (Itu ambil seperti pada ambilan kunci dan penunjuk, yaitu membatasi penggunaan tombol atau tombol mouse tertentu untuk aplikasi tertentu, atau menyempitkan penunjuk tetikus untuk tetap berada di area layar tertentu.) Saya mencari xgrab utilitas yang akan menampilkan hal-hal seperti

Key     0x00f00ba5  0x123   0
Button  0x00f00ba5  2       
Pointer 0x00abcdef  

artinya ada panggilan ke XGrabKey(display, 0x123, 0, 0x00f00ba5, ...) dan seterusnya dengan XGrabButton , XGrabPointer , XGrabKeyboard , XGrabServer (jika memungkinkan). Format tampilan tidak masalah, yang saya inginkan adalah cara untuk melihat siapa yang mengambil apa, dan mungkin beberapa cara untuk mencabut pengambilan ini (jika memungkinkan, saya tidak yakin apakah X11 API mengizinkannya).

Jawaban yang Diterima:

Versi terbaru dari X (server X.org ≥1.11) mendukung beberapa keysyms debugging, diperkenalkan dalam komit ini. Saat dipicu, ini melakukan tindakan yang terkait dengan perebutan.

Secara default (setidaknya dalam versi terbaru), ini dinonaktifkan (tidak ada dari keymap default).

Namun, jika Anda memiliki xdotool terinstal, adalah mungkin untuk memanggil mereka, dengan mengeksekusi pada baris perintah:

xdotool key NameOfKey

di mana NameOfKey adalah keysym yang ingin Anda aktifkan. Misalnya, untuk mencetak daftar pengambilan aktif ke log server X, gunakan xdotool key XF86LogGrabInfo .

Keysym yang relevan adalah:

  • XF86LogGrabInfo :mencetak daftar pengambilan aktif ke log server X
  • XF86Ungrab :merusak semua pengambilan yang aktif, tanpa mematikan aplikasi yang menahan pengambilan
  • XF86ClearGrab :mematikan semua proses yang menahan pengambilan aktif

Perhatikan bahwa XF86LogGrabInfo hanya mencantumkan pengambilan aktif, bukan pengambilan pasif seperti pengambilan pada tombol yang saat ini tidak ditekan. Jika Anda ingin mendapatkan informasi tentang ambil pasif, Anda perlu mengaktifkan ambil:jalankan xdotool key XF86LogGrabInfo sementara akord kunci atau kombinasi tombol mouse yang Anda minati ditekan. Lakukan sesuatu seperti:

  1. Jalankan sleep 1; xdotool key XF86LogGrabInfo
  2. Dalam 1 detik, tekan akord kunci atau kombinasi tombol mouse.
  3. Setelah 1 detik, lepaskan tombol/tombol.
  4. Periksa informasi “Aktif ambil …” di log server X (seringkali /var/log/Xorg.0.log ).

Linux
  1. Diurutkan dengan sort di baris perintah

  2. Salin dan tempel di baris perintah Linux dengan xclip

  3. Menggunakan kekuatan di baris perintah Linux

  1. Hasilkan kata sandi di baris perintah Linux

  2. Miliki sapi di baris perintah Linux

  3. Masukkan diri Anda ke dalam baris perintah Linux

  1. 8 tips untuk baris perintah Linux

  2. Sedikit keajaiban penyalinan file SSH di baris perintah

  3. Garis miring dan perintah rsync