2012-03-19 61 views
2

我正在使用帶有Windows 7的蘋果鍵盤。我想用「媒體」功能標記功能鍵(prev,暫停/播放,下一個,靜音,音量 - ,vol +)像Windows鍵盤上的等效鍵一樣工作。如何從Apple鍵盤發送Windows媒體密鑰

我已經試過這AutoHotkey的腳本:

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  

使用腳本中引用上面我看到這從蘋果鍵盤:

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  

任何想法,爲什麼這不工作?

+0

我不能告訴蘋果鍵盤,但我注意到一些媒體控件似乎在我的DELL筆記本電腦上工作得很好。我會將問題「拆分」爲兩個域:鍵盤+媒體功能。換句話說,首先嚐試用你知道的行爲來編程鍵,例如F10會輸出qqqq。一旦你知道AHK和鍵盤工作,然後專注於媒體功能。 – 2012-03-21 07:23:19

回答

1

檢查該腳本的工作原理:

它基本上映射你的選擇下一個,上,播放和暫停的按鍵。

因此,您可以映射標記有媒體功能的那些功能鍵。

關於音量控制,我會尋找它。

; 
; 
; 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上AutoHotkey的社區。

原帖here