Gibt es Alternativen zu Razer Synapse mit voller Makrofunktionalität für eine Maus?

Ich habe eine extrem schlechte Erfahrung mit Razer Synapse gemacht, weil es konstante und zufällige BSODs auf meinem Computer verursacht. Ich verwende eine Empfindlichkeitskupplung für eine meiner Makrotasten, aber wenn der Synapsendienst nicht ausgeführt wird, funktioniert die Empfindlichkeitskupplung nicht richtig. Ich habe versucht, X-Mouse Button Control, aber es hat keine Unterstützung für zusätzliche Tasten. Gibt es eine Möglichkeit, vollständige Makrofunktionen zu erhalten, ohne Synapse installiert zu haben?

Author: Drakinite, 2020-07-22

1 answers

Ich habe vorübergehend Synapse installiert, um ein Onboard-Profil für die Maus zu erstellen. Ich habe die 7 Makrotasten jeweils F13-F19 zugewiesen und in der Maus gespeichert. Wenn ich jetzt die Makrotasten drücke, wird eine der entsprechenden Funktionstasten ausgelöst.

Um die Makros zu verarbeiten, verwende ich AutoHotkey. Ich habe ein einfaches Skript ausgeführt, das die Funktionstasten verarbeitet und neu zuordnet. Wenn Sie eine kleine Kupplung wie ich verwenden möchten, hat jemand ein schönes Skript für die AutoHotkey Forums das hat genau das getan, was ich brauchte.

Ich habe es für meine eigenen Zwecke geändert, um als Kupplung anstelle eines Umschaltvorgangs zu fungieren:


;=================================================================================
NormalMouseSpeed    := true ; State of Mouse pointer speed
UserMouseSpeed    := 0  ; Speed sensed before slow down
MouseThreshold1  := 6
MouseThreshold2  := 10
MouseEnhance        := 1
;Set this to true if you need to debug (or just want to show tooltips)
ShowTooltips        := false

SPI_GETMOUSESPEED   := 0x70
SPI_SETMOUSESPEED   := 0x71
SPI_SETMOUSE        := 0x04 

;=================================================================================

*F18::
throttleMouseSpeed(1)
return

*F18 UP::
unThrottleMouseSpeed()
return

;=================================================================================
throttleMouseSpeed(SlowMouseSpeed) {
    global
    if (NormalMouseSpeed) {
        ; SENSE BEFORE
        DllCall("SystemParametersInfo", UInt,SPI_GETMOUSESPEED, UInt,0, UIntP,prevSpeed, UInt,0)

        ; Temporarily reduces the mouse cursor's speed.
        ; Retrieve the current speed so that it can be restored later
        DllCall("SystemParametersInfo", UInt,SPI_GETMOUSESPEED, UInt,0, UIntP,UserMouseSpeed, UInt,0)
        ; Slow down mouse speed
        DllCall("SystemParametersInfo", UInt,SPI_SETMOUSESPEED, UInt,0, UInt,SlowMouseSpeed, UInt,0)

        ; SENSE AFTER
        DllCall("SystemParametersInfo", UInt,SPI_GETMOUSESPEED, UInt,0, UIntP,currentSpeed, UInt,0)
        
        if (ShowTooltips) {
            ToolTip, Mouse slow: %currentSpeed%/20
            SetTimer, RemoveToolTip, 1000
        }

        ; REMEMBER CURRENT STATE
        NormalMouseSpeed := false
    }
}

unThrottleMouseSpeed(){
    global
    ; SENSE BEFORE
    DllCall("SystemParametersInfo", UInt,SPI_GETMOUSESPEED, UInt,0, UIntP,prevSpeed, UInt,0)

    ; Restore the original speed.
    DllCall("SystemParametersInfo", UInt, SPI_SETMOUSESPEED, UInt,0, UInt,UserMouseSpeed, UInt,0)

    ; Restore the original speed acceleration thresholds and speed
    VarSetCapacity(MySet, 32, 0) 
    InsertInteger(MouseThreshold1, MySet, 0)
    InsertInteger(MouseThreshold2, MySet, 4)
    InsertInteger(MouseEnhance   , MySet, 8)
    DllCall("SystemParametersInfo", UInt,SPI_SETMOUSE, UInt,0, Str,MySet, UInt,1) 

    ; SENSE AFTER
    DllCall("SystemParametersInfo", UInt,SPI_GETMOUSESPEED, UInt,0, UIntP,currentSpeed, UInt,0)
    
    if (ShowTooltips) {
        ToolTip, Mouse restored: %currentSpeed%/20
        SetTimer, RemoveToolTip, 1000
    }
    ; REMEMBER CURRENT STATE
    NormalMouseSpeed := true
}
 2
Author: Drakinite,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-07-22 16:42:28