Cara umum untuk memetakan kembali setiap tombol media

13

Hari ini saya mencoba untuk memetakan kembali beberapa tombol media keyboard ke fungsi yang lebih bermanfaat dan gagal melakukannya.

masukkan deskripsi gambar di sini

Masalah

  • Pabrikan tidak menyediakan utilitas untuk mengikat dan menjalankan perintah khusus.
    Keyboard saya sebelumnya dari Logitech memiliki opsi seperti itu di perangkat lunak SetPoint mereka
  • Kode kunci (atau scancode) tidak dikenali oleh sebagian besar program yang saya gunakan untuk menangkap kode kunci yang mendasarinya.

    Misalnya, alat yang luar biasa bagus, SharpKeys, memiliki mode tangkap di mana ia memberi tahu Anda tombol apa yang baru saja Anda tekan. Butuh beberapa waktu bagi saya untuk menyadari bahwa kode kunci yang saya kirim salah. Selama pengujian saya menekan tombol "bintang" di kanan atas dan SharpKeys memberi tahu saya bahwa ini adalah kunci "D" dengan kode kuncinya 00_20. Tetapi kode kunci yang benar adalah00_181

    Percobaan lain adalah skrip Autohotkey ini yang juga gagal mengenali kunci media saya yang tidak biasa

Tugas

  • Temukan kode kunci yang benar bahkan untuk tombol media yang tidak biasa
  • Remap semua kunci media tanpa instalasi alat atau program tambahan apa pun. Tweak registri, penggunaan driver yang sudah diinstal atau aplikasi portabel kecil dapat diterima
nixda
sumber

Jawaban:

10

Ini adalah cara umum untuk memetakan kembali tombol keyboard apa pun. Bahkan yang aneh


  1. Gunakan KeyCodes (portable, 415 KB) untuk menangkap kode kunci. Unduh, ekstrak dan mulai KeyCodes3.exe. Tekan tombol misterius Anda dan Anda akan melihat kode kunci sebagai angka desimal

    masukkan deskripsi gambar di sini

    Cara alternatif adalah skrip AHK ini yang menggunakan kait keyboard dan "KeyHistory"

    #Persistent
    #InstallMouseHook
    #InstallKeybdHook
    while !(getKeyState("F1", "T"))
          KeyHistory
    return
    esc::exitapp
    

    masukkan deskripsi gambar di sini

  2. Ubah angka dari desimal menjadi heksadesimal: 171»AB

  3. Gunakan versi portabel AutoHotKey untuk memetakan kembali tombol.
    Unduh dan ekstrak versi .zip pilihan Anda di suatu tempat. Tidak diperlukan instalasi.
    Buat file teks baru dan rekatkan

    #NoEnv, #Persistent, #SingleInstance
    vkB5::return                ;music node button  181 » B5   do nothing
    vkAC::return                ;home button        172 » AC   do nothing
    vkAA::return                ;search button      170 » AA   do nothing
    vkAB::Run, c:\myapp.exe     ;star button        171 » AB   execute tool
    vkB4::Send {Volume_Mute}    ;mail button        180 » B4   mute/unmute
    
    • vk singkatan dari kode kunci virtual diikuti oleh kode kunci heksadezimal yang ingin Anda remap
    • ::adalah operator remap. Kiri adalah pemicunya, kanannya adalah tombol atau tindakan baru Anda
    • Send {<my_new_key>}bisa menjadi kunci apa saja dari daftar ini .
      Atau Anda bisa mengeksekusi jalur kustom dengan perintah Run .
      Atau jika Anda ingin menjalankan tombol media lagi, gunakan {vkAB}sebagai tindakan
  4. Buat pintasan baru di folder autostart Anda untuk memulai skrip AHK Anda di setiap boot. Sebagai contoh

    "D:\Tools\AutoHotKey\AutoHotkey.exe" "D:\Tools\AutoHotKey\RemapKeys.ahk"
    

Setelah memulai ulang atau skrip AHK manual dimulai, semua tombol dipetakan ulang

nixda
sumber
Semuanya berfungsi kecuali memetakan kunci bisu untuk menjalankan perintah (mis. vkAD::Run, c:\myapp.exeTidak bekerja untuk saya), saya harus memetakannya dua kali untuk membuatnya berfungsi, kira-kira seperti vkAD::F21dan kemudian pemetaan lain:F21::Run, c:\myapp.exe
BornToCode
Antivirus saya (ESET EndpointAntivirus) menandai unduhan yang dapat dieksekusi sebagai ancaman.
PhilMacKay
5

Singkatnya: Anda dapat menemukan pemetaan kunci multimedia dalam kunci registri berikut: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey"

Misalnya kunci surat biasanya meluncurkan aplikasi surat standar.

HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ RegisteredApp = "Mail"

Jika Anda ingin mengganti ini untuk membuka Notepad,

HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ ShellExecute = "notepad.exe"

(Atau ubah HKLM jika Anda ingin memodifikasi untuk semua pengguna dll)

RegisteredApp berarti aplikasi yang terdaftar untuk fungsi itu akan dipanggil. (Seperti Email di atas)

Asosiasi Berarti aplikasi yang terkait dengan jenis file tertentu akan dibuka. Misalnya, kunci Media terdaftar secara default ke .cda, artinya aplikasi default yang digunakan untuk memutar CD musik akan dibuka dengan menekan tombol itu.

ShellExecute membuka program tertentu untuk dijalankan.

Untuk lebih jelasnya baca artikel ini

Denis Maslov
sumber
2
Silakan kutip bagian-bagian penting dari jawaban dari tautan referensi, karena jawabannya bisa menjadi tidak valid jika halaman yang tertaut berubah.
DavidPostill
Saya telah dapat memetakan kembali "Kalkulator" tetapi tidak "Media PLay / Pause".
PhilMacKay