Um den Funktionsumfang des Nyxboards etwas zu erweitern habe ich Autohotkey installiert und in den Autostart gepackt.
Mit dem beigefügten Script greift Autohotkey die Tasten "User" und "EPG" ab und begibt sich in Lauerstellung auf eine weitere Tasteneingabe auf dem Nummernblock.
[expander]
Text kopieren und als Autohotkey.ahk speichern
#InstallKeybdHook
;*******Shift+Tab zu Alt+Tab ändern*******
LShift & Tab::AltTab
RShift & Tab::AltTab
; Wenn der User-Button gedrückt wurde, warte auf Input (String mit Länge=1) und speichere in "user"
; Hier können die Nummern-Tasten mit System-Funktionen belegt werden (siehe AutoHotkey-Hilfe oder Forum)
F4::
Input, User,L1,,
if (User = "1") ;**************Monitor ausschalten**************************
{
Sleep 200
SendMessage ,0x112, 0xF170, 2,,Program Manager
return
}
if (User ="2") ;**************XBMC abwürgen, neustarten*********************
{
Process,Close,XBMC.exe
Sleep 1000
Run, "C:\Program Files\XBMC\XBMC"
return
}
if (User ="3") ;**************aktives Fenster schliessen*********************
{
WinClose, A
return
}
if (User ="4")
{
return
}
if (User ="5")
{
return
}
if (User ="6")
{
return
}
if (User ="7")
{
return
}
if (User ="8")
{
return
}
if (User ="9")
{
return
}
if (User ="0")
{
return
}
if (Errorlevel) ;*************************keine / falsche Eingabe*************
{
return
}
else return
return
;Wenn der epg-Button gedrückt wurde, warte auf Input (String mit Länge=1) und speichere in "epg" ;
;Hier werden die eingegebenen Ziffern in Tastenkombinationen geändert (1 => shift+alt+1) ;
;Diese Tastencombos können jetzt in der "keyboard.xml" im Ordner \userdata\keymaps\ mit Built-In-Functions ;
;belegt werden (z.B. Sleep-Timer setzen) Infos zu den Funktionen im XBMC.org Wiki und Forum ;
F3::
Input, epg,L1,,
if (Epg = "1")
{
Sleep 200
SendInput ^!1
return
}
if (Epg ="2")
{
Sleep 200
SendInput ^!2
return
}
if (Epg ="3")
{
Sleep 200
SendInput ^!3
return
}
if (Epg ="4")
{
Sleep 200
SendInput ^!4
return
}
if (Epg ="5")
{
Sleep 200
SendInput ^!5
return
}
if (Epg ="6")
{
Sleep 200
SendInput ^!6
return
}
if (Epg ="7")
{
Sleep 200
SendInput ^!7
return
}
if (Epg ="8")
{
Sleep 200
SendInput ^!8
return
}
if (Epg ="9")
{
Sleep 200
SendInput ^!9
return
}
if (Epg ="0")
{
Sleep 200
SendInput ^!0
return
}
if (Errorlevel)
{
return
}
else return
return
Alles anzeigen
[/expander]
Drückt man "EPG" und danach eine Ziffer so stellt Autohotkey der Ziffer ein ctrl+alt vorran. Diese Combo greife ich in der keyboard.xml (userdata\Keymaps) wieder auf und verwende sie für Funktionen wie zum Beispiel den Ausschalttimer
[expander]
Text Kopieren und als Keyboard.xml im Order Userdata\Keymaps speichern
<[definition='3','0']keymap[/definition]>
<global>
<keyboard name="Motorola Nyxboard Hybrid">
<f3 mod="shift">ContextMenu</f3> <!-- Red -->
<f4 mod="shift">FullScreen</f4> <!-- Green -->
<f5 mod="shift">Playlist</f5> <!-- Yellow -->
<f6 mod="shift">OSD</f6> <!-- Blue -->
<!--f3>Verwaltet von AutoHotkey</f3--> <!-- EPG -->
<!--f4>Verwaltet von AutoHotkey</f4--> <!-- USER -->
<one mod="ctrl,alt">XBMC.AlarmClock(shutdowntimer,XBMC.Powerdown(),60)</one>
<two mod="ctrl,alt">-</two>
<three mod="ctrl,alt">-</three>
<four mod="ctrl,alt">-</four>
<five mod="ctrl,alt">-</five>
<six mod="ctrl,alt">-</six>
<seven mod="ctrl,alt">-</seven>
<eight mod="ctrl,alt">-</eight>
<nine mod="ctrl,alt">-</nine>
<zero mod="ctrl,alt">-</zero>
</keyboard>
</global>
</[definition='3','0']keymap[/definition]>
Alles anzeigen
[/expander]
Drückt man "User" und dann eine Ziffer kann man verschiedene Systembefehle ausführen:
1)Monitor abschalten
2)Prozess XBMC abwürgen und neu starten (sehr praktisch, wenns mal wieder hängt)
3)Das aktive Fenster schliessen
Des Weiteren ändert AutoHotkey die Tasten-Combo Shift+Tab in alt+tab, da es auf dem Nyxboard keine alt-Taste gibt.
Zugegeben, alles etwas umständlich und auch nicht sehr sauber programmiert, aber es erfüllt seinen zweck.
Vielleicht benutzt der ein oder andere ja auch ein Nyxboard und kann mit diesem"Tweak" was anfangen.
Über nützliche Anregungen für die vielen noch unbelegten Tasten würde ich mich freuen.