rien-ne-va-plus
Anmeldedatum: 02.03.2008 Beiträge: 26 Wohnort: Berlin
|
Verfasst am: Mi März 12, 2008 1:50 pm Titel: MultiMaus - iTunes und mehr mit der Maus steuern |
|
|
Hallo Community,
ich denke, was ich hier geschrieben habe, gibt es sicher schon zu Hauf in den Archiven. Nichts desto trotz habe ich mir mein eigenes Skript geschrieben, um mehr aus meiner 5-Tasten-Maus zu machen. Wichtig war mir hierbei, dass die Maus weiterhin möglichst uneingeschränkt in der Standardbelegung genutzt werden kann.
Ich habe hier eine Einschränkung gemacht, der Specialmodus wird durch drücken von XButton2 ausgelöst. Danach hat man eine Zeit in der man einen Specialkey bedienen kann. Natürlich hätte ich auch mit gedrückter XButton2 arbeiten können, aber rein von der Ergonomie hat mir diese Variante besser gefallen. Daher wird das Standard Xbutton2 Signal erst ausgelöst, wenn diese Wartezeit verstrichen ist ohne Eingabe.
Ich würde mich über Feedback sehr freuen.
MfG
rien
| Code: | ;
; AutoHotkey Version: 1.0.47.05
; Language: German
; Platform: WinXP
; Author: rien-ne-va-plus <total_anonym@web.de>
;
; Script Function:
; Dieses Skript belegt die Maustasten doppelt. Grundsätzlich lösen ein gedrückt halten des MButtons Play/Pause bei iTunes aus,
; XButton1 aktiviert beim gedrückt halten das nächste Lied in iTunes. XButton2 aktiviert bei einmal drücken HotkeyModus 1, hier liegt
; auf dem Mausrad die Masterlautstärke, auf XButton1 liegt jetzt letzes Lied in iTunes. ein weiteres drücken aktiviert die Lautstärken-
; regelung von iTunes.
; Wird eine Sekunde lang keine Eingabe getätigt, wird XButton2 an den PC gesendet, diese Taste lässt sich als mit Zeitverzögerung regulär
; nutzen.
; Es ist noch viel Potential für Erweiterungen, man könnte auch LButton und RButton im HotKeyModus belegen, die originale Funktionalität
; würde nicht eingeschränkt, da der Hotkey nur nach Drücken von XButton2 aktiviert wäre.
;
#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.
#Include ws4ahk.ahk
#HotkeyInterval 1000
ActiveTime := -1000 ; Wartezeit nach Klick auf weitere Aktionen bei aktiviertem HotKeyModus
ToolTipTime := -2000 ; Wartezeit bevor ToolTip entfernt wird, minus damit nur einmal durchgelaufen wird
VolumeSteps := 15 ; In wie viele Intervalle soll der Volumenbalken aufgeteilt werden?
ButtonMode := 0 ; Initialisiert den HotKeyModus
; ------------------------------------------------------------------------------
$MButton::
If(ButtonMode = 0) {
KeyWait, MButton, T1
If (ErrorLevel)
{
WS_Initialize("JScript")
PlayPause =
(
iTunesApp = new ActiveXObject("iTunes.Application");
iTunesApp.PlayPause();
)
WS_Exec(PlayPause)
WS_Uninitialize()
}
Else
{
Send {MButton}
}
}
If(ButtonMode = 1) {
Aktion := True
SoundSet, +1, , mute
Gosub, VolumeToolTip
SetTimer, HotKeysOff, %ActiveTime%
}
If(ButtonMode = 2) {
Aktion := True
WS_Initialize("JScript")
muteVolume =
(
iTunesApp = new ActiveXObject("iTunes.Application");
if(iTunesApp.Mute) {
iTunesApp.Mute = 0;
}
else {
iTunesApp.Mute = 1;
}
)
WS_Exec(muteVolume)
WS_Uninitialize()
Gosub, VolumeToolTip
SetTimer, HotKeysOff, %ActiveTime%
}
Return
; ------------------------------------------------------------------------------
$XButton1::
If(ButtonMode = 0) {
KeyWait, XButton1, T1
If (ErrorLevel)
{
WS_Initialize("JScript")
NextTrack =
(
iTunesApp = new ActiveXObject("iTunes.Application");
iTunesApp.NextTrack();
)
WS_Exec(NextTrack)
WS_Uninitialize()
}
Else
{
Send {XButton1}
}
}
If(ButtonMode = 1) {
Aktion := True
WS_Initialize("JScript")
BackTrack =
(
iTunesApp = new ActiveXObject("iTunes.Application");
iTunesApp.BackTrack();
)
WS_Exec(BackTrack)
WS_Uninitialize()
}
Return
; ------------------------------------------------------------------------------
$XButton2::
Gosub, HotKeysOn
Aktion := False
If(ButtonMode = 0) {
ToolTip, Hotkeys Modus 1
ButtonMode = 1
}
Else {
If(ButtonMode = 1) {
ToolTip, Hotkeys Modus 2
ButtonMode = 2
}
}
SetTimer, HotKeysOff, %ActiveTime%
Return
; ------------------------------------------------------------------------------
$WheelUp::
Aktion := True
If(ButtonMode = 1) {
SoundSet, +(100/VolumeSteps)
}
If(ButtonMode = 2) {
WS_Initialize("JScript")
volUp =
(
function funcUp(wert) {
iTunesApp = new ActiveXObject("iTunes.Application");
iTunesApp.SoundVolume = iTunesApp.SoundVolume + wert;
}
)
WS_Exec(volUp)
WS_Exec("funcUp(" (100/VolumeSteps) ")" )
WS_Uninitialize()
}
Gosub, VolumeToolTip
SetTimer, HotKeysOff, %ActiveTime%
Return
; ------------------------------------------------------------------------------
$WheelDown::
Aktion := True
If(ButtonMode = 1) {
SoundSet, -(100/VolumeSteps)
}
If(ButtonMode = 2) {
WS_Initialize("JScript")
volDown =
(
function funcDown(wert) {
iTunesApp = new ActiveXObject("iTunes.Application");
iTunesApp.SoundVolume = iTunesApp.SoundVolume - wert;
}
)
WS_Exec(volDown)
WS_Exec("funcDown(" (100/VolumeSteps) ")" )
WS_Uninitialize()
}
Gosub, VolumeToolTip
SetTimer, HotKeysOff, %ActiveTime%
Return
------------------------------------------------------------------------------
HotKeysOn:
SetTimer, RemoveToolTip, %ToolTipTime%
HotKey, $WheelUp, On
HotKey, $WheelDown, On
; HotKey, $LButton, %OnOff%
Return
; ------------------------------------------------------------------------------
HotKeysOff:
ToolTip, Hotkeys aus
SetTimer, RemoveToolTip, %ToolTipTime%
HotKey, $WheelUp, Off
HotKey, $WheelDown, Off
If(!Aktion) {
Send {XButton2}
}
ButtonMode = 0
Return
; ------------------------------------------------------------------------------
RemoveToolTip:
ToolTip
Return
; ------------------------------------------------------------------------------
VolumeToolTip:
If(ButtonMode = 1) {
SoundGet, vol_Value, Master, Mute
If(vol_Value = "On") {
vol_Value := "Muted"
}
Else {
SoundGet, vol_Value, Master
}
vol_String := "Master: <"
}
If(ButtonMode = 2) {
WS_Initialize("JScript")
iTunesVolume =
(
function VolumeValue() {
iTunesApp = new ActiveXObject("iTunes.Application");
if(iTunesApp.Mute) {
return "Muted";
}
else {
return iTunesApp.SoundVolume;
}
}
)
WS_Exec(iTunesVolume)
WS_Eval(vol_Value, "VolumeValue()" )
WS_Uninitialize()
vol_String := "iTunes: <"
}
If(vol_Value = "Muted") {
vol_String .= " Stumm "
}
Else {
vol_Master := Round(vol_Value/(100/VolumeSteps))
i := 0
Loop {
If (i = vol_Master) {
vol_String .= "|"
}
Else {
vol_String .= "."
}
If (i >= VolumeSteps) {
break
}
i += 1
}
}
vol_String .= ">"
ToolTip, %vol_String%
SetTimer, RemoveToolTip, %ToolTipTime%
Return
|
Zuletzt bearbeitet von rien-ne-va-plus am Mi März 12, 2008 3:45 pm, insgesamt einmal bearbeitet |
|