forked from micropython/micropython-lib
-
Notifications
You must be signed in to change notification settings - Fork 2
Adding the usage of the 3rd button as the Wheel in USB mouse.py #3
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
Open
wzab
wants to merge
104
commits into
projectgus:master
Choose a base branch
from
wzab:patch-1
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Damien George <[email protected]>
This aims to follow the API of the cbor2 library found at https://github.com/agronholm/cbor2 (also on PyPI as cbor2). The original source for this MicroPython version of cbor2 is from https://github.com/kpn-iot/senml-micropython-library.
This is a new library that doesn't follow any existing API. The library is originally from https://github.com/kpn-iot/senml-micropython-library.
Opt-in feature to make it easier for folks to test packages that are still in development, open in Pull Requests, or even in independent forks. --- To enable this on your own GitHub fork of the micropython-lib repository then navigate to the fork's "Settings" -> "Secrets and variables" -> "Actions" -> "Variables" page, then click "New repository variable", and create a variable named MIP_INDEX with value true (or any "truthy" value). Once enabled then any time a branch is pushed to your fork and builds successfully, GitHub Actions will also push the built packages and package index to the gh-pages branch which is associated with the repo's GitHub Pages web site. The packages can then be installed remotely via: mpremote mip --index \ https://USERNAME.github.io/micropython-lib/mip/BRANCH_NAME PACKAGE_NAME or on a device as: mip.install(PACKAGE_NAME, index="https://USERNAME.github.io/micropython-lib/mip/BRANCHNAME") (Replace USERNAME, BRANCH_NAME and PACKAGE_NAME as applicable. If you've renamed your fork, change the name micropython-lib to match.) Note: As well as the MIP_INDEX repository variable, this functionality depends on both GitHub Actions and GitHub Pages being enabled on your repository in GitHub. However both options should enable automatically, unless they have been manually disabled. This work was funded through GitHub Sponsors.
Signed-off-by: Damien George <[email protected]>
Also add a version to the manifest. Signed-off-by: Damien George <[email protected]>
Prior to this commit, if no tests were found when running unittest discover then nothing at all was written to stdout, leading one to think it's not working at all. CPython unittest does display a "0 tests run" sort of output in such a case, and this commit ensures this package does the same.
This is so the package knows the "upstream" name of the corresponding PyPI package that it's based on. Signed-off-by: Jim Mussared <[email protected]>
Signed-off-by: Jim Mussared <[email protected]>
This tool makes a buildable package (including pyproject.toml) from supported micropython-lib packages, suitable for publishing to PyPI and using from CPython. Signed-off-by: Jim Mussared <[email protected]>
Signed-off-by: Jim Mussared <[email protected]>
Removes the workaround for micropython/issues/6864. Sets the default flags for discovered descriptors to be WRITE, so that d.write() will implicitly set response=True. Signed-off-by: Jim Mussared <[email protected]>
This module provides asyncio support for the espnow module on ESP32 and ESP8266 ports.
This adds a utarfile-write extension package that adds the ability to create and append to tar files. Work done by Doug Ellis <[email protected]>. Signed-off-by: Jim Mussared <[email protected]>
Includes: - component oriented driver, to only install the parts that are needed - synchronous operation - async wrapper class for asynchronous operation - two examples with async & synchronous versions - documentation This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
This splits out each algorithm into its own extension package, so that only the necessary algorithms can be installed. This allows for a significant reduction in RAM and flash. i.e. previously installing hashlib meant that all algorithms were imported. Additionally ensures that any built-in hash algorithms (from uhashlib) are still exposed (e.g. `md5`), and retains the existing behavior to use the built-in preferentially. Also includes a refactoring of the algorithms to reduce code size and reduce the number of allocations they do as well as using bytearrays in place of list-of-int where possible. Add more comprehensive tests (using unittest). This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <[email protected]>
For reading, the size is always terminated by a null, so just ignore it by using 11 for the uctypes entry (this fixes a regression introduced in 7128d42). For writing, the size must always be terminated by a null. Signed-off-by: Damien George <[email protected]>
Even though we now have a `string` module, just keep the existing IDENTCHARS definition. - If someone doesn't already have string installed (or aren't otherwise importing it), this would add an extra dependency and more memory used. - If they do, then the resulting concatenated string has to be allocated separately, so there's no gain from using the string.x components. Signed-off-by: Jim Mussared <[email protected]>
Due to changes in MicroPython to support PEP-479, StopIteration has been deprecated for return. This results in xmltok to raise RuntimeError every time. This commit is a simple fix to just change from StopIteration to EOFError and then return it in the generator.
Signed-off-by: Jim Mussared <[email protected]>
This commit allows you to pass an exception object in as the exc_info kwarg (CPython allows this), so logging exceptions can work even if the MICROPY_PY_SYS_EXC_INFO option is disabled in the firmware. Separately to that, currently even when sys.exc_info() is enabled, it's only printing the traceback to _stream = sys.stderr - not to the configured logging handlers. This means for instance if you've got a file log handler it misses out on the tracebacks. That's also fixed in this commit. Signed-off-by: Andrew Leech <[email protected]>
Re-implemented bytes.maketrans() and bytes.translate() as there are no such functions in MicroPython.
Signed-off-by: Andrew Leech <[email protected]>
Signed-off-by: Andrew Leech <[email protected]>
Allows modifying current line, adding/deleting characters in the middle etc. Includes home/end keys to move to start/end of current line. Signed-off-by: Andrew Leech <[email protected]>
Provides support for mpremote features like cp and mount. Signed-off-by: Andrew Leech <[email protected]>
Signed-off-by: Michael Hirsch <[email protected]>
Signed-off-by: Mark Blakeney <[email protected]>
Signed-off-by: Mark Blakeney <[email protected]>
Signed-off-by: Mark Blakeney <[email protected]>
Signed-off-by: Mark Blakeney <[email protected]>
Implement `aiohttp` with `ClientSession`, websockets and `SSLContext` support. Only client is implemented and API is mostly compatible with CPython `aiohttp`. Signed-off-by: Carlos Gil <[email protected]>
There don't seem to be any MQTT implementations that expect an empty username (instead of the field missing), so the check for unused `user` can be simplified. Signed-off-by: Felix Dörre <[email protected]>
MicroPython now supplies SSL/TLS functionality in a new built-in `tls` module. The `ssl` module is now implemented purely in Python, in this repository. Other libraries are updated to work with this scheme. Signed-off-by: Felix Dörre <[email protected]>
The built-in `hashlib` module does not have a `.new` method (although the Python version in this repository does).
- Fix binary data `Content-type` header and data `Content-Length` calculation. - Fix query length when data is included. - Fix `json` and `text` methods of `ClientResponse` to read `Content-Length` size Signed-off-by: Carlos Gil <[email protected]>
Signed-off-by: ubi de feo <[email protected]>
Signed-off-by: Angus Gratton <[email protected]>
According to the docs, only freq_khz was needed for working output. However: - Without output_power setting, no output from SX1262 antenna (theory: output routed to the SX1261 antenna). - SF,BW,etc. settings were different from the SX127x power on defaults, so modems with an identical configuration were unable to communicate. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
If send completes before the first call to poll_send(), the driver could get stuck in _sync_wait(). This had much less impact before rp2 port went tickless, as _sync_wait(will_irq=True) calls machine.idle() which may not wake very frequently on a tickless port. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
Fixes issue micropython#796. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
Changes are cosmetic - and maybe very minor code size - but not functional. _reg_read() was calling struct.packinto() with an incorrect number of arguments but it seems like MicroPython didn't mind, as result is correct for both versions. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
And give the `mode` parameter a default, matching CPython. Signed-off-by: Damien George <[email protected]>
And describe how to use `add_library()` instead. Signed-off-by: Damien George <[email protected]>
It requires the unix pcre-based re module. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <[email protected]>
Deprecate decoder and encoder modules to maintain compatibility with the CPython cbor2 module. Signed-off-by: iabdalkader <[email protected]>
Signed-off-by: iabdalkader <[email protected]>
These packages build on top of machine.USBDevice() to provide high level and flexible support for implementing USB devices in Python code. Additional credits, as per included copyright notices: - CDC support based on initial implementation by @hoihu with fixes by @linted. - MIDI support based on initial implementation by @paulhamsh. - HID keypad example based on work by @turmoni. - Everyone who tested and provided feedback on early versions of these packages. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <[email protected]>
…g of pressing the 3rd button, as reported in https://www.reddit.com/r/linux4noobs/comments/1d58wjz/the_mouse_middle_button_sends_the_press_event/
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have used your USB device extensions to implement a simplified mouse for connecting a Morse key to XCWCP application. Unfortunately, it appeared that the 3rd button press event gets delayed until the button is released (it is described in https://www.reddit.com/r/linux4noobs/comments/1d58wjz/the_mouse_middle_button_sends_the_press_event/ ). Finally I have found that the problem could be eliminated by modifying the HID report. I had to add usage of the 3rd button as a wheel.