A python script for macOS to enable scrolling with the 3M ergonomic mouse EM500GPS in any application.

Overview

3M-ergo-mouse-macos-scroller

A python script for macOS to enable scrolling with the 3M ergonomic mouse EM500GPS in any application.

How to install

Make sure you have python installed. Open a terminal and run

pip install pynput

to install pynput, the awesome python package to monitor and simulate mouse and keyboard input. Place the scrolling.py in a memorable place. Update the path in scrolling_launcher.plist to point to where you placed the scolling.py. Place scrolling_launcher.plist in ~/Library/LaunchAgents/ Then open up a terminal and run

launchctl load -w ~/Library/LaunchAgents/scrolling_launcher.plist

After that, the python script should be run automatically at startup and scrolling with the mouse should be possible while the middle mouse button (the one at the back) is pressed.

A WORD OF WARNING: THIS PROGRAM WORKS WITH TOOLS THAT CAN MONITOR AND CONTROL YOUR KEYBOARD AND MOUSE. THIS IS A VERY SIMPLE PROGRAM THAT JUST EMULATES A SCROLLWHEEL IF THE MIDDLE MOUSE BUTTUN IS PRESSED AND THE MOUSE IS MOVED AT THE SAME TIME. YOU SHOULD HOWEVER BE CAREFUL WHAT YOU RUN ON YOUR SYSTEM, ESPECIALLY IF IT CAN MONITOR AND CONTROLL ALL YOUR KEYBOARD AND MOUSE INPUTS.

You might also like...
A Python script to monitor the latest block on an LCD.
A Python script to monitor the latest block on an LCD.

PiHole-Monitoring A Python script to monitor the latest block on a lcd display. The first number represents the dns queries from the last 24h, the sec

Simple Python script to decode and verify an European Health Certificate QR-code

A simple Python script to decode and verify an European Health Certificate QR-code.

 Python script: Enphase Envoy mqtt json for Home Assistant
Python script: Enphase Envoy mqtt json for Home Assistant

A Python script that takes a real time stream from Enphase Envoy and publishes to a mqtt broker. This can then be used within Home Assistant or for other applications. The data updates at least once per second with negligible load on the Envoy.

A simple Python script for toggling Philips Hue Lights by clapping

LightsClap A simple Python script for toggling Philips Hue Lights by clapping Usage pip3 install -r requirements.txt python3 main.py and press the Ent

A python script for Homeassistant that counts down the days to birthdays, anniversaries etc
A python script for Homeassistant that counts down the days to birthdays, anniversaries etc

Date Countdown A python script for Homeassistant that counts down the days to birthdays, anniversaries etc Important note I no longer use homeassistan

Python script for printing to the Hanshow price-tag
Python script for printing to the Hanshow price-tag

This repository contains Python code for talking to the ATC_TLSR_Paper open-source firmware for the Hanshow e-paper pricetag. Installation # Clone the

Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display
Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

A script for performing OTA update over BLE on ESP32

A script for performing OTA update over BLE on ESP32

A script and GUI for controlling stepper motors from an arduino

A script and GUI for controlling stepper motors from an arduino (nema 23 in my case but should work for others in general)

Comments
  • Script fails with 78 error

    Script fails with 78 error

    I'm getting an error when enabling the script.

    Using launchctl wasn't given me much in way of errors so I used the LaunchControl app to see if it would provide additional details -

    Screenshot: image

    My copy of scrolling_launcher.plist:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.scrolling_launcher</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/bin/python3</string>
            <string>/Users/logandeancall/Documents/setup/mouse/scrolling.py</string>
        </array>
        <key>KeepAlive</key>
        <true/>
    </dict>
    </plist>
    

    One difference is that I have /usr/bin/python3 because that's where my python install is, instead of what you have /usr/local/bin/python3.

    The only thing I could find that might be related (I'm not a python developer) is this, https://www.sololearn.com/Discuss/2893921/python-core-78-2-error-calculator-has-no-attribute-add-pls-help

    Any idea what the issue might be here?

    opened by logandeancall 2
Owner
null
A module for cross-platform control of the mouse and keyboard in python that is simple to install and use.

PyUserInput PyUserInput is a group project so we've moved the project over to a group organization: https://github.com/PyUserInput/PyUserInput . That

Paul Barton 1k Dec 27, 2022
This allows you to record keyboard and mouse input, and play it back using pynput.

Record and Play with Python! This allows you to record keyboard and mouse input, and play it back (with looping) using pynput. It allows for automatio

George Jensen 45 Jan 2, 2023
Make your MacOS keyboard brightness fade in and out

Make your MacOS keyboard brightness fade in and out. (It's working depends on the Kbrightness file, which only works for <2015 Macs, so this will only work on <2015 Macs.)

null 1 Dec 16, 2021
OpenStickFirmware is open source software designed to handle any and all tasks required in a custom Fight Stick

OpenStickFirmware is open source software designed to handle any and all tasks required in a custom Fight Stick. It can handle being the brains of your entire stick, or just handling the bells and whistles while your Brook board talks to your console.

Sleep Unit 23 Nov 24, 2022
♟️ QR Code display for P4wnP1 (SSH, VNC, any text / URL)

♟️ Display QR Codes on P4wnP1 (p4wnsolo-qr) ?? QR Code display for P4wnP1 w/OLED (SSH, VNC, P4wnP1 WebGUI, any text / URL / exfiltrated data) Note: Th

PawnSolo 4 Dec 19, 2022
Easyeda2kicad.py - Convert any LCSC components (including EasyEDA) to KiCad library

easyeda2kicad.py A Python script that convert any electronic components from LCSC or EasyEDA to a Kicad library Installation git clone https://github.

uPesy Electronics 150 Jan 6, 2023
Python application, displaying currently played track from Spotify on OLED display connected via I2C

RaspberryPi Spotify OLED Display This application will display currently played track on SSD1306 OLED display connected to RaspberryPi. Displayed stuf

Wojciech Olech 2 Dec 30, 2021
a weather application for the raspberry pi and the Pimorioni Inky pHAT.

raspi-weather a weather application for the raspberry pi and the Inky pHAT

Derek Caelin 59 Oct 24, 2022
An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi.

An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi. This is the source codes of my programming assignmen

StardustDL 4 Oct 19, 2022
This application works with serial communication. Use a simple gui to send and receive serial data from arduino and control leds and motor direction

This application works with serial communication. Use a simple gui to send and receive serial data from arduino and control leds and motor direction

ThyagoKZKR 2 Jul 18, 2022