Commit Graph

9 Commits

Author SHA1 Message Date
Hrvoje Cavrak 09935f5f87 - add windows workaround
- add mouse acceleration (configurable in user_config.h)
- add keyboard shortcuts for output configuration
- after several reports, bundling pico-sdk and tinyusb to simplify building
- bugfixes
2024-03-24 19:02:37 +01:00
Hrvoje Cavrak 9c69dc3cd6 Features and fixes
- Auto switch-lock when dragging or resizing windows.
     * This was super annoying for me, resizing a window and you
       get too close to the left border, making it shrink suddenly.
       Now if you drag while holding a mouse button pressed, it will
       not switch.

- Added Mac OS multiple desktop workaround
     * you need to tweak defaults.c and set screen_count to e.g. 2 if
       you have 2 desktops on a single mac output, and set OUTPUT_A_OS
       (or OUTPUT_B_OS) to MACOS in user_config.h, then rebuild
     * This will be keyboard-configurable in the future without rebuilding
     * Support still experimental

- HID report protocol default for port B
- Added support for swapping output order
     * defaults.c, output has "pos" you can set to either LEFT or RIGHT
     * this will be hotkey-configurable

- Bugfixes
- Added debugging mode (serial CDC device for printf things)
- Refactored screensaver a bit
2024-03-22 19:48:49 +01:00
Kevin P. Fleming 68a4ca6be2 Screensaver features:
* Per-output enablement
* Maximum time
* Enable only when output is inactive

Closes #66.
2024-03-18 15:06:19 -04:00
Kevin P. Fleming 1d9716b471 Add note to discourage users from using HID_KEY_NONE. 2024-03-15 07:57:55 -04:00
Hrvoje Cavrak 15da60bd95 Cleanup, Refactoring, Silkscreen update
- Code refactor, still far from great but a bit less crappy
- Unify behavior - Mouse Zoom feature was made toggle and
  moved from ALT to Right ALT + Right CTRL to avoid interfering
  with OS
- Added optional screensaver "Pong" mode, prevents sleep and it's fun
- Updated README
- Added more visible pin1 marking on PCB for digital isolator
- Marked pins to solder with a star *
- Added checksum and version format support for flash config
2024-01-21 01:45:22 +01:00
Hrvoje Cavrak 99a6e3bf20 Features, bugfixes and configuration.
- Support for storing config in flash
- Support for keyboard and mouse in any port (hopefully)
- Single-sided operation should work with a USB hub
- Added mouse switch cursor height/offset simple calibration
- Added per-screen settings support
- Mouse speed is configurable per-screen and per-axis
- Small fixes and cleanup
- Added LED feedback
- Updated documentation for usage guide
2024-01-16 18:38:24 +01:00
Hrvoje Cavrak de3cb4dba7 Bugfixes and improvements:
==========================

Added 1000 Hz polling.
(Hopefully) fixed Logitech mouse issues
Removed special treatment for 12 and 16-bit mice
Increased mouse queue size
Increased current allowance from 100mA to 500mA
Allow mouse to wake up a suspended host
Added memory usage print to build

Updated README
  - Added link to troubleshooting wiki
  - Mouse polling rate chart
  - Updated known issues
  - Updates about possible PCB/assembly ordering
2024-01-11 17:57:29 +01:00
Hrvoje Cavrak 560f3dca74 New features, bugfixes and optimizations
Some of the features implemented in this release are:
  - TinyUSB used to handle HOST management as well
  - USB hub support (tried an ancient one and it worked)
  - Early and buggy support for mouse on the keyboard side
    but have no unified usb receivers to test
  - Rudimentary HID report descriptor parsing, support for
    mice that don't send wheel data unless in report protocol mode
  - Implemented queueing for keyboard/mouse messages with
    hid report send verification
  - Split firmware upgrade shortcut to two
    now it's left-shift + F12 + A + right shift to write board A
             left-shift + F12 + B + right shift to write board B
  - Fixed keyboard stuck in outputing chars if you hold down a key
    and change screens while doing it
  - Implemented cursor hiding, so the screen we are moving away from
    parks cursor at top right corner and it looks more natural and
    feels intuitive
  - Implemented switch lock, use Ctrl + L to lock and unlock
    desktop switching
  - Implemented jump threshold, works like barrier opacity - you can
    define if mouse immediately jumps over or you need to give it a bit
    of a "nudge"
2024-01-03 10:48:34 +01:00
Hrvoje Cavrak c10f971038 Initial Commit 2023-12-24 23:22:05 +01:00