Bagaimana menemukan * mengapa * saya tidak dapat mengikat pintasan keyboard (atau aplikasi mana yang mengambilnya)?

14

Singkatnya: apakah ada (di bawah Persatuan) cara untuk mengetahui aplikasi mana yang mengambil beberapa pintasan global? Saya tidak meminta "pintasan standar" tetapi untuk beberapa cara untuk mendapatkan informasi tentang pintasan aktual (aplikasi mana yang sebenarnya menyimpan kunci yang diberikan saat ini dalam konfigurasi saya saat ini)

Cerita lagi:

Saya memiliki masalah berulang dengan mengelola pintasan keyboard. Saat ini:

  • Terkadang Synapse (*) tidak dapat mengikat Win-Space karena pintasan aktivasi, melaporkan "Gagal mendaftar hotkey 'aktifkan' dengan tanda tangan 'spasi'" (yang biasanya berarti bahwa pintasan ini sudah diambil)

    (*) Setelah satu login berfungsi, setelah login yang lain tidak. Saya menduga beberapa ras antara dua aplikasi ...

  • F9 karena beberapa alasan membuat layar saya sedikit lebih gelap (dan F9 tidak mencapai pintasan tingkat aplikasi jadi misalnya menu byobu saya tidak berfungsi)

Saya mencoba melihat berbagai tempat, dan:

  • Saya tidak melihat pintasan di pengaturan Keyboard / Pintasan

  • Saya tidak dapat menemukannya di gconf-editor (saya mencoba mencari nilai F9 khususnya, tidak ada yang ditemukan)

  • Saya tidak dapat menemukannya di dconf-editor (tidak ada pencarian jadi saya mengklik beberapa jalur yang paling jelas)

Jadi pertanyaan saya adalah: apakah ada cara untuk bertanya unity / dconf / gconf / d-bus / apa pun tentang alokasi hotkey global saat ini (proses mana yang menyimpan kunci mana). Atau memaksa log alokasi tersebut ke beberapa file log. Atau ambil mereka dari suatu tempat. Atau………

Mekk
sumber
Bisakah Anda mengklarifikasi atau mendefinisikan (untuk tujuan pertanyaan ini) apa yang dimaksud dengan pintasan global ?
Kunci yang saya tekan dan yang menyebabkan sesuatu yang tidak terkait dengan jendela yang sedang aktif terjadi. Misalnya pintasan global Win-S membuka tampilan pameran, pintasan global Alt-Tab mengaktifkan windows, F12 (dalam pengaturan saya) membuka terminal drop-down tilda dll. Dan, seperti yang saya katakan, setiap kali saya menekan F9, layar redup, dan Saya tidak tahu aplikasi mana yang melakukan itu dan mengapa. Dan sesuatu kadang-kadang meraih ruang Win. Dan di masa lalu saya kebetulan melihat F12 diambil dari tilda (untungnya masalah ini hilang). Jadi saya akan senang memiliki beberapa cara untuk memeriksa alokasi keyboard tersebut.
Mekk
Saya pikir F9 mungkin mengaktifkan overlay widget, tapi sudah selesai sejak saya berada di Unity. Mungkin mencarinya di CCSM ..?
Rasmus
Lihatlah askubuntu.com/questions/101226/… atau wiki.ubuntu.com/Keybindings atau superuser.com/questions/152367/… - Ada beberapa lokasi yang dijelaskan misalnya dalam dconf atau gconf tempat Unity menyimpan pintasannya. Mungkin Anda ingin memeriksa halaman ini untuk informasi baru?
Byte Commander

Jawaban:

2

Antara 12.10 dan 17.04 desktop Ubuntu sebenarnya Compiz dan Unity sendiri hanyalah sebuah plugin Compiz.

Jika Anda, sebaliknya, mengatur dan mengaktifkan plugin "perintah" Compiz dan mengatur pintasan keyboard menggunakan CCSS di mana ada konflik, CCSM akan memberi tahu Anda tentang plugin apa yang menyebabkan konflik dan juga harus menyediakan opsi untuk menonaktifkan plugin yang bertentangan atau pengikat tombol yang bertentangan. sebelum menerapkan pengaturan Anda.

Secara pribadi, saya juga mengalami kesulitan mengatur pintasan keyboard di 14.04+ tetapi sejak saya memutuskan untuk mulai menggunakan plugin CCSM alih-alih pengaturan pintasan keyboard di Unity, saya belum mengalami masalah apa pun dan semua pintasan saya berfungsi dengan baik dan sebagainya sangat menyarankan Anda setidaknya memeriksanya sebagai opsi.

mchid
sumber
1

Sekarang saya mengerti apa yang Anda butuhkan ...

sudo apt-get install evtest

Selamat menikmati acara HID USB Ubuntu Ubuntu!

Peringatan Ini tidak berfungsi pada keyboard PS2 / style ... (tetapi siapa yang menggunakannya lagi?) :-)

Fabby
sumber
Tidak sepenuhnya menyelesaikan masalah saya, tetapi pasti bermanfaat. Namun, saya ingin tahu di mana tempat binding yang aktif itu disimpan dan apakah itu dapat diintrospeksi (gsettings adalah tempat mereka dibaca oleh banyak aplikasi, tetapi tidak semua aplikasi harus menggunakan gsettings ...)
Mekk
Jika Anda memberi saya output dari perintah di atas, saya dapat membantu Anda ... Jika Anda ingin tahu mengapa , saya menyarankan Anda untuk membaca: wiki.archlinux.org/index.php/Extra_keyboard_keys dan kemudian Anda akan menghargai itu bekerja sama sekali!!! ;-)
Fabby
Artikel ini tidak cukup tentang apa yang saya tanyakan - Saya tidak bertanya bagaimana kunci diterjemahkan dari penekanan tombol fisik ke simbol (meskipun ini juga menarik dan kadang membingungkan). Saya bertanya hal yang lebih sederhana: program mana yang benar-benar menyimpan dan menerapkan pintasan keyboard global, dan apakah ada utilitas atau API apa pun yang akan membuat saya mengintrospeksi atau melacak penugasan tersebut.
Mekk
(ketika saya memulai persatuan, ia mendaftarkan Alt-F2, Alt-F4, Win-S dll dll. ketika saya mulai sinaps mendaftarkan register Win-space, ketika saya mulai yakuake itu mendaftar F12 dll dll - dua yang terakhir sesuai dengan konfigurasi saya - tetapi di mana tempat mereka mendaftarkan kunci-kunci itu dan bagaimana mengakses tempat ini?)
Mekk
Oooh ... Sekarang saya mengerti ... Ada sesuatu yang disebut evtesttetapi itu tidak hanya USB! Di sisi lain, itulah yang Anda butuhkan jika Anda menggunakan laptop atau desktop tanpa papan ketik PS / 2!
Fabby
1

Dari salah satu jawaban lama saya :

Pertama, Anda harus menginstal xdotool:

sudo apt-get install xdotool

Saya membuat serangkaian perintah untuk menunjukkan kepada kita perebutan pasif dengan penekanan tombol. Misalnya untuk melihat apa yang meraih kombo Shift + PrintScreen, Anda dapat menggunakan "skrip" di bawah ini:

xdotool keydown "shift+Print"; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

Ini akan memicu tombol Shift + PrtSc dan pada instalasi Ubuntu default akan menunjukkan gnome-settings-daemon meraih keyboard. Setidaknya ini bekerja pada instalasi 12,04 saya yang lebih lama, tetapi sepertinya pada 14,04 saya harus menggunakan ini:

xdotool key "shift+Print"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

tapi

xdotool keydown "F12"; xdotool key "XF86LogGrabInfo"; xdotool keyup "F12"; tail /var/log/Xorg.0.log

masih berfungsi, kadang-kadang, dan tidak kali lain. Tidak tahu kenapa

Anda hanya perlu memodifikasi "skrip" di atas dengan mengubah kunci yang harus disimulasikan.

elang
sumber