Remap kunci Browser_Home gagal ketika jendela browser tidak fokus

2

Saya memiliki remote bluetooth dengan Browser_Homekunci, yang saya coba remap dengan AutoHotkey pada mesin Windows 10 saya.

Secara default, menekan Browser_Homemelakukan salah satu dari dua hal:

  • Jika jendela dalam fokus adalah browser default saya (Firefox dalam kasus saya), tab saat ini beralih ke halaman tab baru. *
  • Jika jendela dalam fokus adalah hal lain, jendela browser baru dibuka dan dibawa ke fokus, dibuka ke halaman tab baru. *

* Agaknya, beranda terkonfigurasi saya akan terbuka seandainya saya mengonfigurasinya ke hal lain.

Sekarang saya mencoba untuk memetakan ulang Browser_Homemenggunakan AutoHotkey:

Browser_Home::
    MsgBox Browser home button pressed
Return

(Sunting: Ini adalah keseluruhan skrip yang saya jalankan, dan saya memastikan hanya skrip AHK yang berjalan.)

Efeknya berbeda, tergantung pada apakah saya memiliki jendela Firefox dalam fokus ketika saya menekan Browser_Home:

  • Jika jendela dalam fokus adalah browser default saya (Firefox dalam kasus saya), perilaku yang diinginkan terjadi: Tekan tombol dicegat dan kotak pesan muncul. Tidak ada tab browser yang terpengaruh.
  • Jika jendela dalam fokus adalah sesuatu selain dari jendela peramban default, skrip AHK tampaknya tidak berpengaruh: Jendela peramban baru dibuka dan dimasukkan ke dalam fokus, dibuka ke halaman tab baru. Tidak ada kotak pesan yang muncul.

Perhatikan bahwa perilaku yang sama tampaknya terjadi jika saya beralih MessageBoxdengan TrayTipatau Send.

Jelas remap gagal ketika jendela browser default tidak fokus! Ini adalah persentase besar dari kasus penggunaan saya, dan karena itu sangat tidak diinginkan. Apakah ada cara untuk berhasil memetakan ulang Browser_Homekunci sepanjang waktu?

Catatan: Saya tahu pasti bahwa kunci yang dimaksud adalah Browser_Homedari riwayat penekanan tombol AutoHotKey.

jjc385
sumber
Ini terdengar seperti Anda tidak sengaja memasukkan definisi hotkey di dalam lingkup #IfWinActiveklausa.
Aaron Harris
@ Harun Harris Saya mengerti perasaan itu, tapi sepertinya ini bukan masalahnya. Perilaku yang dijelaskan tentang tetap ada ketika kedua (a) baris di atas membentuk keseluruhan skrip; dan (b) saat ini adalah satu-satunya skrip yang berjalan. Saya akan menebak bahwa perilaku ini adalah sisa dari sesuatu seperti #IfWinActivedi windows 'memproses Browser_Homepenekanan tombol - lihat deskripsi saya tentang perilaku penekanan tombol default, dan bagaimana hal itu tergantung pada jendela dalam fokus.
jjc385
Ya, agak mengira bahwa ini adalah "adalah komputer yang terhubung" tembakan dalam gelap, tetapi lebih baik untuk memeriksa hal-hal bodoh terlebih dahulu. Aku takut aku kehabisan ide sekarang.
Aaron Harris
Posting yang ditulis dengan sangat baik, acungan jempol. (1) Apakah penekanan tombol terdaftar dalam riwayat penekanan tombol ketika MsgBox tidak memicu? (2) Apakah Anda tahu jika ada proses menengah atau program memetakan perangkat bluetooth ke papan tombol? (atau hanya menggunakan driver bluetooth windows built-in?) (3) Sudahkah Anda mencoba memaksa skrip Anda untuk dijalankan pada tingkat privilege yang ditinggikan untuk melihat apakah ada level privilege mismatch di suatu tempat? Jika jawaban untuk # 1 dan # 3 adalah tidak, coba jalankan ditinggikan untuk memeriksa operasi dan / atau sejarah kunci di admin.
JJohnston2
Juga, tidak ada salahnya untuk menambahkan #IfWinActive sebelum definisi hotkey Anda karena Anda selalu ingin ruang lingkup definisi menjadi global. Ini adalah kebiasaan yang relatif baik untuk menyelamatkan diri dari sakit kepala di sini atau di sana begitu Anda mulai menambahkan hotkey lainnya.
JJohnston2

Jawaban:

0

Saya tidak tahu apa yang Anda coba lakukan tetapi dalam kasus saya tombol Browser_Home yang membuka jendela Browser baru berada di posisi kunci ESC dan tidak bekerja dengan cara itu sehingga menggunakan Autohotkey dengan skrip ini melakukan pekerjaan.

Naskah:

#InputLevel 1
Browser_Home::Escape

#InputLevel 0
; This hotkey can be triggered by both Browser_Home and Escape:

~Escape::Escape

Semoga ini bisa membantu Anda dalam beberapa cara. Nikmati!!!

Charles
sumber
Terima kasih telah kembali ke pertanyaan lama yang jelas-jelas jatuh dari radar saya. Ketika jendela fokus adalah browser default saya, ini berfungsi (seperti yang saya lakukan di atas). Sayangnya, ketika jendela fokus adalah sesuatu yang lain, keduanya (a) melarikan diri dipecat dan (b) jendela browser baru terbuka. Dalam kasus terakhir tampaknya keduanya ESCdan Browser_Homesedang dikirim ke OS.
jjc385