Cách chung để ánh xạ lại mọi nút phương tiện


13

Hôm nay tôi đã cố gắng ánh xạ lại một số phím phương tiện bàn phím sang các chức năng hữu ích hơn và không thực hiện được.

nhập mô tả hình ảnh ở đây

Vấn đề

  • Nhà sản xuất không cung cấp tiện ích để liên kết và thực thi các lệnh tùy chỉnh.
    Bàn phím trước của tôi từ Logitech có các tùy chọn như vậy trong phần mềm SetPoint của họ
  • Các mã khóa (hoặc scancode) không được nhận dạng bởi hầu hết các chương trình mà tôi đã sử dụng để bắt các mã khóa cơ bản.

    Ví dụ, công cụ tuyệt vời khác, SharpKeys có chế độ bắt trong đó nó cho bạn biết phím nào bạn vừa nhấn. Phải mất một thời gian tôi mới nhận ra rằng nó đã cho tôi biết mã khóa sai Trong khi thử nghiệm, tôi đã nhấn "nút sao" ở trên cùng bên phải và SharpKeys nói với tôi rằng đây là phím "D" với mã khóa 00_20. Nhưng mã khóa chính xác sẽ là00_181

    Một lần thử khác là tập lệnh AutoHotKey này cũng không nhận ra các khóa phương tiện khác thường của tôi

Nhiệm vụ

  • Tìm mã khóa chính xác ngay cả đối với các nút phương tiện khác thường
  • Ánh xạ lại tất cả các khóa phương tiện mà không cần cài đặt một công cụ hoặc chương trình bổ sung. Một chỉnh sửa đăng ký, việc sử dụng trình điều khiển đã được cài đặt hoặc một ứng dụng di động nhỏ có thể được chấp nhận

Câu trả lời:


10

Đây là một cách chung để ánh xạ lại bất kỳ nút bàn phím. Ngay cả những người kỳ lạ


  1. Sử dụng Mã khóa (di động, 415 KB) để bắt mã khóa. Tải xuống, giải nén và bắt đầu KeyCodes3.exe. Nhấn nút bí ẩn của bạn và bạn sẽ thấy mã khóa là số thập phân

    nhập mô tả hình ảnh ở đây

    Một cách khác là tập lệnh AHK này sử dụng móc bàn phím và "KeyHistory"

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

    nhập mô tả hình ảnh ở đây

  2. Chuyển đổi số từ thập phân sang thập lục phân: 171»AB

  3. Sử dụng phiên bản di động của AutoHotKey để sắp xếp lại nút.
    Tải xuống và trích xuất phiên bản .zip của sự lựa chọn của bạn ở đâu đó. Không cần cài đặt.
    Tạo một tệp văn bản mới và dán

    #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 là viết tắt của mã khóa ảo theo sau là mã khóa thập lục phân mà bạn muốn sắp xếp lại
    • ::là toán tử remap. Bên trái là trình kích hoạt, bên phải là nút hoặc hành động mới của bạn
    • Send {<my_new_key>}có thể là bất kỳ chìa khóa từ danh sách này .
      Ngoài ra, bạn có thể thực thi một đường dẫn tùy chỉnh bằng lệnh Run .
      Hoặc nếu bạn muốn thực hiện lại nút phương tiện, hãy sử dụng {vkAB}làm hành động
  4. Tạo một lối tắt mới trong thư mục tự khởi động để bắt đầu tập lệnh AHK của bạn trên mỗi lần khởi động. Ví dụ

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

Sau khi khởi động lại hoặc kịch bản AHK thủ công bắt đầu, tất cả các nút được ánh xạ lại


Mọi thứ hoạt động ngoại trừ ánh xạ một phím tắt tiếng để chạy lệnh (ví dụ: vkAD::Run, c:\myapp.exekhông hoạt động với tôi), tôi đã phải vkAD::F21ánh xạ lại hai lần để làm cho nó hoạt động, một cái gì đó giống như và sau đó là ánh xạ khác:F21::Run, c:\myapp.exe
Sinh ra ToCode

Phần mềm chống vi-rút của tôi (ESET EndpointAntachus) đã gắn cờ phần tải xuống có thể thực thi là một mối đe dọa.
PhilMacKay

5

Tóm lại: bạn có thể tìm thấy ánh xạ các khóa đa phương tiện trong khóa đăng ký sau: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey"

Ví dụ: khóa thư thường khởi chạy ứng dụng thư mặc định.

HKLM \ PHẦN MỀM \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ Đã đăng ký = "Thư"

Nếu bạn muốn thay thế điều này để mở Notepad,

HKCU \ PHẦN MỀM \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ ShellExecute = "notepad.exe"

(Hoặc thay đổi HKLM nếu bạn muốn sửa đổi cho tất cả người dùng, v.v.)

Đã đăng ký có nghĩa là ứng dụng đã đăng ký cho chức năng đó sẽ được gọi. (Giống như Thư ở trên)

Hiệp hội Có nghĩa là ứng dụng được liên kết với một loại tệp cụ thể sẽ được mở. Ví dụ: phím Media được đăng ký theo mặc định thành .cda, có nghĩa là ứng dụng mặc định được sử dụng để phát CD nhạc sẽ được mở khi nhấn phím đó.

ShellExecute mở một chương trình cụ thể sẽ được chạy.

Để biết thêm chi tiết đọc bài viết này


2
Vui lòng trích dẫn các phần thiết yếu của câu trả lời từ (các) liên kết tham chiếu, vì câu trả lời có thể trở nên không hợp lệ nếu (các) trang được liên kết thay đổi.
DavidPostill

Tôi đã có thể ánh xạ lại "Máy tính" nhưng không phải là "Phương tiện / Tạm dừng phương tiện".
PhilMacKay
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.