Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

MultiMaus - iTunes und mehr mit der Maus steuern

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
rien-ne-va-plus



Anmeldedatum: 02.03.2008
Beiträge: 26
Wohnort: Berlin

BeitragVerfasst am: Mi März 12, 2008 1:50 pm    Titel: MultiMaus - iTunes und mehr mit der Maus steuern Antworten mit Zitat

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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BoBo¨
Gast





BeitragVerfasst am: Mi März 12, 2008 2:49 pm    Titel: Antworten mit Zitat

Während das MultiMaus-Grundprinzip modifiziert wohl auch allgemein nutzbar ist, ist es im vorliegenden Fall/Script doch sehr spezifisch auf ITunes festgelegt. Dies sollte sich wenigstens im Titel des Threads wiederfinden (sowas wie MultiMaus - "Maustaste trifft ITunes").

BoBoMarketingkurs - Teil 1
Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de