Der USB IR Empfänger von Technisat funktioniert nur mit der Fernbedienung TTS35AI und TS35. Wenn man diesen nun zu Steuerung von VLC, Winamp, Spotify, Power DVD oder ander Anwendungen benutzten möchte, stellt man sehr schnell fest, dass dies nicht möglich ist. Der Grund hierfür ist, dass sich der USB Receiver als „Tastatur“ – HID-Tastatur – anmeldet. So sind die Tasten die man auf der FB drückt ganz normale Tasten, wie von einer Tastatur.
Um dies zu umgehen muss man für den USB IR folgenden Treiber, statt des standardmäßig installierten HID-Tastatur Treiber installieren: http://home.wanadoo.nl/sjaan.bierman/kbfiltr_ext.zip
Vor der installation muss man die .inf Datei jedoch noch anpassen:
I had a USB keyboard and a gamepad, both if which came with no specific drivers and were running with the same standard USB keyboard drivers, but I wanted to map them separately. The trick is to load the at the right insertion point in the driver stack. I modified the .inf file for GeomanNL’s kbfiltr_ext to do this. I changed it so that it would load for the most specific hardware id for the keyboard I wanted to remap (the device id). This is first entry for listed under Hardware Ids for the device in device manager. For example, my gamepad had HID_04f3&Pid_0103&Rev_0105&MI00 (and the Logitech keyboard a different id).
I then changed the line
Code: %DDK_Ex% = kbfiltr, *PNP0BAAD
into
Code: %DDK_Ex% = kbfiltr, HID\VID_04f3&Pid_0103&Rev_0105&MI_00
in the kbfiltr.inf file, and replaced all references to STANDARD_Inst with HID_Keyboard_Inst.
Now the driver would load for the gamepad, and everything worked fine. (I would then use the extended scancodes in my ahk-script to respond to the keypad).
Im Falle des USB IR von Technisat entspricht das der Device ID:
HID\VID_147A&PID_E02D&REV_0005&Col01
Dann den modifizierten Treiber statt der HID-Tastatur im Gerätemanager installieren.
Um die ganzen Signale nun abzufangen nutzt man autohotkey und schreibt folgendes Script z.b. für VLC, Spotify und Winamp
SC102::
IfWinNotExist ahk_class BaseWindow_RootWnd
return
ControlSend, ahk_parent, z
returnSC103::
IfWinNotExist ahk_class BaseWindow_RootWnd
return
ControlSend, ahk_parent, c
returnSC104::
IfWinNotExist ahk_class BaseWindow_RootWnd
return
ControlSend, ahk_parent, b
returnSC105::
DetectHiddenWindows, On
IfWinNotExist ahk_class SpotifyMainWindow
return
ControlSend, ahk_parent, ^{Left}
DetectHiddenWindows, Off
returnSC106::
DetectHiddenWindows, On
IfWinNotExist ahk_class SpotifyMainWindow
return
ControlSend, ahk_parent, {Space}
DetectHiddenWindows, Off
returnSC107::
DetectHiddenWindows, On
IfWinNotExist ahk_class SpotifyMainWindow
return
ControlSend, ahk_parent, ^{Right}
DetectHiddenWindows, Off
return
#IfWinActive, , VLC (Direct3D output)
{
SC11C::Send {Space}
SC150::Send ^{Down}
SC148::Send ^{Up}
SC14B::Send ^{Left}
SC14D::Send ^{Right}
SC132::Send m
SC143::Send f
}
Hinterlasse einen Kommentar