Keyboard 如何从Apple键盘发送Windows Media键

Keyboard 如何从Apple键盘发送Windows Media键,keyboard,autohotkey,keyboard-events,key-bindings,Keyboard,Autohotkey,Keyboard Events,Key Bindings,我在Windows7上使用苹果键盘。我希望标有“媒体”功能的功能键(prev、pause/play、next、mute、vol-、vol+)与windows键盘上的等效键一样工作 我已经尝试过这个自动热键脚本: F7::Media_Prev F8::Media_Play_Pause F9::Media_Next F10::Volume_Mute F11::Volume_Down F12::Volume_Up 查看键历史记录,键似乎按预期重新映射,但它们没有任何效果 windows media键

我在Windows7上使用苹果键盘。我希望标有“媒体”功能的功能键(prev、pause/play、next、mute、vol-、vol+)与windows键盘上的等效键一样工作

我已经尝试过这个自动热键脚本:

F7::Media_Prev
F8::Media_Play_Pause
F9::Media_Next
F10::Volume_Mute
F11::Volume_Down
F12::Volume_Up
查看键历史记录,键似乎按预期重新映射,但它们没有任何效果

windows media键盘的工作状态(即所有按键按预期工作并触发相应的媒体功能)如下所示:

VK  SC  Type    Up/Dn   Elapsed Key     Window
------------------------------------------------------------------------------------
B3  122 a   d   32.79   Media_Play_Pause    
B3  122 a   u   0.14    Media_Play_Pause    
B2  124 a   d   0.61    Media_Stop      
B2  124 a   u   0.17    Media_Stop      
AF  130 a   d   0.58    Volume_Up       
AF  130 a   u   0.17    Volume_Up       
AE  12E a   d   0.42    Volume_Down     
AE  12E a   u   0.16    Volume_Down     
B1  110 a   d   0.87    Media_Prev      
B1  110 a   u   0.14    Media_Prev      
B0  119 a   d   0.30    Media_Next      
B0  119 a   u   0.11    Media_Next      
AD  120 a   d   1.56    Volume_Mute     
AD  120 a   u   0.13    Volume_Mute     
使用上面提到的脚本,我在apple键盘上看到了这一点:

VK  SC  Type    Up/Dn   Elapsed Key     Window
------------------------------------------------------------------------------------
B1  010 i   d   0.00    Media_Prev      
76  041 h   u   0.09    F7              
B1  010 i   u   0.00    Media_Prev      
77  042 h   d   0.20    F8              
B3  022 i   d   0.00    Media_Play_Pause    
77  042 h   u   0.08    F8              
B3  022 i   u   0.00    Media_Play_Pause    
78  043 h   d   0.20    F9              
B0  019 i   d   0.00    Media_Next      
78  043 h   u   0.09    F9              
B0  019 i   u   0.00    Media_Next      
79  044 h   d   0.22    F10             
AD  020 i   d   0.00    Volume_Mute     
79  044 h   u   0.09    F10             
AD  020 i   u   0.00    Volume_Mute     
7A  057 h   d   0.19    F11             
AE  02E i   d   0.00    Volume_Down     
7A  057 h   u   0.09    F11             
AE  02E i   u   0.00    Volume_Down     
7B  058 h   d   0.65    F12             
AF  030 i   d   0.00    Volume_Up       
7B  058 h   u   0.08    F12             
AF  030 i   u   0.00    Volume_Up    

知道为什么这不起作用吗?

检查此脚本是否起作用:

它基本上将您选择的键映射到下一个、上一个、播放和暂停

因此,您可以映射那些标有媒体功能的功能键

关于音量控制,我会找的

;
;
; AutoHotkey Version: 1.x
; Language:       English
; Platform:       Windows 7
; Author:         Brian Kamrany
;
; Script Function: Control iTunes, Windows Media Player, and Winamp easily.

;Numpad Subtraction = next
;Numpad Multiplication = previous
;Numpad Division = pause/unpause

;Note: if you want to change the hotkeys to numpad numbers, you must add
;both the numpad number and it's alternate key.
;For example
;Numpad6::
;NumpadRight::
;(written like that) are both needed if you want to use 6 on the numpad as your hotkey

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
DetectHiddenWindows, on


NumpadSub::

if WinExist("ahk_class ITWindow") or WinExist("ahk_class iTunes")
{
   ControlSend, ahk_parent, ^{RIGHT}
}

IfWinExist, ahk_class WMPlayerApp
{
SetKeyDelay, 0, 1 ;otherwise doesn't work if currently in WMP window
ControlSend, ahk_parent, ^{f}
}

IfWinExist, ahk_class Winamp v1.x
ControlSend, ahk_parent, b

return


NumpadMult::

if WinExist("ahk_class ITWindow") or WinExist("ahk_class iTunes")
{
   ControlSend, ahk_parent, ^{LEFT}
}

IfWinExist, ahk_class WMPlayerApp
{
SetKeyDelay, 0, 1
ControlSend, ahk_parent, ^{b}
}

IfWinExist, ahk_class Winamp v1.x
ControlSend, ahk_parent, z

return


NumpadDiv::

if WinExist("ahk_class ITWindow") or WinExist("ahk_class iTunes")
{
   ControlSend, ahk_parent, ^{SPACE} ;control for better grip, otherwise doesn't work if were filtering songs
}

IfWinExist, ahk_class WMPlayerApp
{
SetKeyDelay, 0, 1
ControlSend, ahk_parent, ^{p}
}

IfWinExist, ahk_class Winamp v1.x
ControlSend, ahk_parent, c

return
积分进入自动热键社区的BrianKamrany

原始帖子。

(Un?)从2016年起,您的脚本在Windows 10/AHK上运行良好,这对我很有帮助

下面是我的较长AHK脚本,用于应对苹果电脑用户和苹果键盘综合症:


我说不出苹果键盘的情况,但我注意到我的戴尔笔记本电脑上的一些媒体控件似乎工作不稳定。我会把这个问题分成两个领域:键盘+媒体功能。换言之,首先尝试使用您知道有效的行为对键进行编程,例如F10将输出QQ。一旦你知道了AHK和键盘的工作原理,那么就把重点放在媒体功能上。