Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add constants for mouse back and forward #124

Merged
merged 1 commit into from
Feb 5, 2024

Conversation

pythonmcpi
Copy link
Contributor

The current Mouse class already supports sending the back and forward buttons (also known as mouse buttons 4 and 5) by passing in the button constants manually. The constants currently included in the library are:

LEFT_BUTTON = 1 # 1 << 0
RIGHT_BUTTON = 2 # 1 << 1
MIDDLE_BUTTON = 4 # 1 << 2

This pull request adds the following constants:

BACK_BUTTON = 8 # 1 << 3
FORWARD_BUTTON = 16 # 1 << 4

Many mice include these buttons, and applications (such as browsers) support these for forward and backward navigation.

Partially resolves #94

@pythonmcpi
Copy link
Contributor Author

The USB HID specification (version 1.11, found here) notes in the boot interface protocol that bits 4 to 7 are "Device-specific" and specifically says that bits 0, 1, and 2 correspond to Buttons 1, 2, and 3, respectively. However, the behaviors of the forward and back buttons appear to be consistent between different mice.

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@tannewt tannewt merged commit 01610da into adafruit:main Feb 5, 2024
1 check passed
adafruit-adabot added a commit to adafruit/Adafruit_CircuitPython_Bundle that referenced this pull request Feb 21, 2024
Updating https://github.com/adafruit/Adafruit_CircuitPython_IRRemote to 4.1.19 from 4.1.18:
  > Merge pull request adafruit/Adafruit_CircuitPython_IRRemote#67 from Kry-Vosa/main

Updating https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display to 3.12.4 from 3.12.3:
  > Merge pull request adafruit/Adafruit_CircuitPython_RGB_Display#119 from reza-n/patch-1

Updating https://github.com/adafruit/Adafruit_CircuitPython_Seesaw to 1.16.3 from 1.16.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_seesaw#126 from logandgsmith/patch-1

Updating https://github.com/adafruit/Adafruit_CircuitPython_asyncio to 1.3.1 from 1.3.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_asyncio#64 from kbsriram/main

Updating https://github.com/adafruit/Adafruit_CircuitPython_HID to 6.1.0 from 6.0.3:
  > Merge pull request adafruit/Adafruit_CircuitPython_HID#124 from pythonmcpi/patch-1

Updating https://github.com/adafruit/Adafruit_CircuitPython_IterTools to 2.0.8 from 2.0.7:
  > Merge pull request adafruit/Adafruit_CircuitPython_IterTools#20 from kbsriram/main

Updating https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT to 7.5.9 from 7.5.8:
  > Merge pull request adafruit/Adafruit_CircuitPython_MiniMQTT#203 from justmobilize/simplify-socket-exceptions

Updating https://github.com/adafruit/Adafruit_CircuitPython_Bundle/circuitpython_library_list.md to NA from NA:
  > Updated download stats for the libraries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for "Pan" or "Horizontal" wheel movement as well as Back/Forward Buttons
2 participants