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 hotkey 'list' support to send concurrent keycodes #1719

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

dearmash
Copy link
Contributor

@dearmash dearmash commented Aug 3, 2021

To better support multiple key macros in a row.

Rather than needing to send +key.a, +key.b, -key.a, -key.b, +key.1, +key.2, etc. specifying up and down for each, you can define the chords more simply:

[[key.a, key.b], [key.1, key.2]]

The macro definition is simpler, and less error prone (see win-edge.py, was pressing control and releasing command).

Also shorthands multiple presses in a row:

[[Keycode.ENTER], [Keycode.ENTER], [Keycode.ENTER]] will press and release enter 3x in a row.

Thank you for creating a pull request to contribute to Adafruit's GitHub code!
Before you open the request please review the following guidelines and tips to
help it be more easily integrated:

  • Describe the scope of your change--i.e. what the change does and what parts
    of the code were modified.
    This will help us understand any risks of integrating
    the code.

  • Describe any known limitations with your change. For example if the change
    doesn't apply to a supported platform of the library please mention it.

  • Please run any tests or examples that can exercise your modified code. We
    strive to not break users of the code and running tests/examples helps with this
    process.

Thank you again for contributing! We will try to test and integrate the change
as soon as we can, but be aware we have many GitHub repositories to manage and
can't immediately respond to every request. There is no need to bump or check in
on a pull request (it will clutter the discussion of the request).

Also don't be worried if the request is closed or not integrated--sometimes the
priorities of Adafruit's GitHub code (education, ease of use) might not match the
priorities of the pull request. Don't fret, the open source community thrives on
forks and GitHub makes it easy to keep your changes in a forked repo.

After reviewing the guidelines above you can delete this text from the pull request.

To better support multiple key macros in a row.

Rather than needing to send +key.a, +key.b, -key.a, -key.b, +key.1, +key.2, etc. specifying up and down for each, you can define the chords more simply:

[[key.a, key.b], [key.1, key.2]]

The macro definition is simpler, and less error prone (see win-edge.py, was pressing control and releasing command).

Also shorthands multiple presses in a row:

[[Keycode.ENTER], [Keycode.ENTER], [Keycode.ENTER]] will press and release enter 3x in a row.
@dearmash
Copy link
Contributor Author

dearmash commented Aug 3, 2021

Another example of how this cleans up things:

[[Keycode.COMMAND, Keycode.SPACE], 'chrome', [Keycode.ENTER], [Keycode.COMMAND, Keycode.T], 'mail.google.com/mail', [Keycode.TAB], [Keycode.ENTER]]

From anywhere on your computer, this macro will switch to chrome, and switch to your existing gmail tab.

command space chrome enter launches spotlight and opens chrome / brings it to the front
new tab just makes sure we're in a blank address bar no matter what
the mail url tab enter will 'click' on the switch to this tab button

Copy link
Contributor

@lesamouraipourpre lesamouraipourpre left a comment

Choose a reason for hiding this comment

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

Not functionally tested as I don't have a MacroPad.

Macropad_Hotkeys/macros/linux-firefox.py Outdated Show resolved Hide resolved
Macropad_Hotkeys/macros/linux-firefox.py Outdated Show resolved Hide resolved
Oops, fixed one copy paste error only to introduce another. Now both are fixed.
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.

None yet

2 participants