xte
Perintah ini , ketika saya menjalankannya di terminal, memicu mode Expo:
xte 'keydown Super_L' 'key S' 'keyup Super_L'
Namun, ketika saya meletakkan ini di file .xbindkeysrc saya:
"xte 'keydown Super_L' 'key S' 'keyup Super_L'"
b:11
Tidak ada yang terjadi ketika saya mengklik tombol. Penjilidan berikut membuat huruf X muncul di konsol saya ketika saya menekan tombol 11:
"xte 'key X'"
b:11
Jadi mengapa Expo tidak mengikat?
Ini adalah output verbal xbindkeys -n -v
ketika mengklik tombol 11:
Tombol tekan! e.xbutton.button = 11 e.xbutton.state = 16 "xte 'keydown Super_L' 'key W' 'keyup Super_L'" m: 0x0 + b: 11 (mouse) dapatkan layar 0 untuk jendela 2bb Mulai program dengan fork + exec call Pelepasan tombol! e.xbutton.button = 11 e.xbutton.state = 16
Dan tidak ada yang terjadi. Apakah ini ada hubungannya dengan cara xbindkeys
menjalankan perintah? (fork + exec call)
Percobaan nomor dua.
expo.sh:
#!/usr/bin/env bash
export DISPLAY=:0
xte 'keydown Super_L' 'key S' 'keyup Super_L'
Menjalankan skrip ini dari baris perintah mengaktifkan Expo. Mengikatnya di xbindkeys:
"sh ~/expo.sh"
b:11
Mengklik tombol mouse 11:
Tombol tekan! e.xbutton.button = 11 e.xbutton.state = 16 "sh ~ / expo.sh" m: 0x0 + b: 11 (mouse) dapatkan layar 0 untuk jendela 2bb Mulai program dengan fork + exec call
Tidak ada yang terjadi!
xorg
shortcut-keys
xbindkeys
xte
Hubro
sumber
sumber
'keydown Super_L' 'keydown S' 'keyup S' 'keyup Super_L'
.Jawaban:
Solusi lain yang lebih sederhana: alih-alih hanya menggunakan "b: 11" dalam definisi xbindkeys, gunakan "b: 11 + release". Ini akan menunggu sampai Anda melepaskan tombol untuk menjalankan perintah.
Contoh:
sumber
Ini sangat aneh. Ternyata jika tombol mouse saya masih ditekan (belum dirilis) saat
Super+W
tombol ditekan , tidak ada yang terjadi. Saya tidak tahu siapa yang harus disalahkan untuk itu (mungkin Kayu Manis?). Saya telah mengatasinya, dengan menambahkan penundaan singkat padaxte
perintah:Sekarang menunggu 0,1 detik sebelum simulasi
Super+S
. Jika saya menekan dan menahan tombol mouse lebih dari 0,1 detik, tidak ada yang terjadi.Ini adalah jawaban untuk masalah. Saya lebih suka jawaban yang tepat.
sumber
Saya menghadapi masalah yang sama.
bekerja di konsol tetapi tidak di file parameter xbindkeys. Saya mengubah b dengan kode kuncinya, menggunakan perintah "xev" untuk mendapatkannya:
Itu berhasil untuk saya
sumber
Coba dengan + Lepaskan
Itu mungkin bisa membantu.
sumber
Memiliki masalah serupa saat menggunakan keymapper sxhkcd. Ternyata tombol pintas Anda yang sebenarnya terdeteksi masih ditekan.
Ada beberapa semi-workaround:
sleep 0.2
di depan perintah AndaNamun Anda tidak bisa mendapatkan tindakan waktu nyata dengan itu =)
sumber