Manera genérica de reasignar cada botón de medios

13

Hoy intenté reasignar algunas teclas multimedia del teclado a funciones más útiles y no lo hice.

ingrese la descripción de la imagen aquí

El problema

  • El fabricante no proporciona una utilidad para vincular y ejecutar comandos personalizados.
    Mi teclado anterior de Logitech tenía tales opciones en su software SetPoint
  • La mayoría de los programas no reconocieron los códigos clave (o el código de escaneo) que utilicé para capturar los códigos clave subyacentes.

    Por ejemplo, la excelente herramienta SharpKeys tiene un modo de captura donde le dice qué tecla acaba de presionar. Me tomó un tiempo darme cuenta de que me decía un código de clave incorrecto. Durante mis pruebas presioné el "botón de estrella" en la esquina superior derecha y SharpKeys me dijo que esta es la clave "D" con su código de clave 00_20. Pero el código clave correcto sería00_181

    Otro intento fue este script AutoHotKey que tampoco reconoció mis teclas multimedia inusuales

La tarea

  • Encuentre los códigos de tecla correctos incluso para botones multimedia inusuales
  • Reasigne todas las teclas multimedia sin instalar ninguna herramienta o programa adicional. Un ajuste del registro, el uso de un controlador ya instalado o una pequeña aplicación portátil es aceptable
nixda
fuente

Respuestas:

10

Esta es una forma genérica de reasignar cualquier botón del teclado. Incluso los raros


  1. Use KeyCodes (portátil, 415 KB) para capturar el código clave. Descargue, extraiga e inicie KeyCodes3.exe. Presione su botón misterioso y verá el código clave como número decimal

    ingrese la descripción de la imagen aquí

    Una forma alternativa era este script AHK que usa un gancho de teclado y "KeyHistory"

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

    ingrese la descripción de la imagen aquí

  2. Convierta el número de decimal a hexadecimal: 171»AB

  3. Use la versión portátil de AutoHotKey para reasignar el botón.
    Descargue y extraiga la versión .zip de su elección en alguna parte. No se necesita instalación.
    Crea un nuevo archivo de texto y pégalo

    #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 significa código de clave virtual seguido de su código de clave hexadezimal que desea reasignar
    • ::es el operador de reasignación. A la izquierda está el disparador, a la derecha está tu nuevo botón o acción
    • Send {<my_new_key>}podría ser cualquier clave de esta lista .
      Alternativamente, podría ejecutar una ruta personalizada con el comando Ejecutar .
      O si desea ejecutar un botón multimedia nuevamente, úselo {vkAB}como acción
  4. Cree un nuevo acceso directo en su carpeta de inicio automático para iniciar su secuencia de comandos AHK en cada arranque. Por ejemplo

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

Después de reiniciar o iniciar el script AHK manual, todos los botones se reasignan

nixda
fuente
Todo funcionó excepto asignar una tecla de silencio para ejecutar un comando (por ejemplo vkAD::Run, c:\myapp.exe, no funcionó para mí), tuve que reasignarlo dos veces para que funcione, algo así vkAD::F21y luego otra asignación:F21::Run, c:\myapp.exe
BornToCode
Mi antivirus (ESET EndpointAntivirus) marcó la descarga ejecutable como una amenaza.
PhilMacKay
5

En resumen: puede encontrar la asignación de teclas multimedia en la siguiente clave de registro: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey"

Por ejemplo, la clave de correo generalmente inicia la aplicación de correo predeterminada.

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

Si desea reemplazar esto para abrir el Bloc de notas,

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

(O cambie HKLM si desea modificar para todos los usuarios, etc.)

RegisteredApp significa que se llamará a la aplicación registrada para esa función. (Como el correo de arriba)

Asociación Significa que se abrirá la aplicación asociada con un tipo de archivo en particular. Por ejemplo, la tecla Media está registrada de forma predeterminada en .cda, lo que significa que la aplicación predeterminada utilizada para reproducir CD de música se abrirá al presionar esa tecla.

ShellExecute abre un programa particular para ejecutarse.

Para más detalles lea este artículo

Denis Maslov
fuente
2
Cite las partes esenciales de la respuesta de los enlaces de referencia, ya que la respuesta puede volverse inválida si las páginas enlazadas cambian.
DavidPostill
He podido reasignar "Calculator" pero no "Media Play / Pause".
PhilMacKay