Commit Graph

36 Commits

Author SHA1 Message Date
Hrvoje Cavrak b44ef2dc6f Updates and fixes.
- Implement fix for keyboards not switching to boot mode properly, until full report parsing gets done.
  This is expected to improve support for certain models that were reported problematic.
- Implement fix for mouse acceleration omitting absolute mode
- Provide pass_to_os = true to not capture shift+backspace from the OS, it's annoying when you hold shift
  and mistype something, then want to use backspace but couldn't.
2024-03-31 23:42:13 +02:00
Hrvoje Cavrak 1cf90ae31d Fixed a mouse.c issue with some compilers. 2024-03-24 22:05:05 +01:00
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 3500497d96 Updated README, pcb and case. 2024-03-22 20:40:39 +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
Hrvoje Čavrak f0b36569c9
Merge pull request #67 from kpfleming/screensaver-features
Screensaver features
2024-03-21 23:36:00 +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
Hrvoje Čavrak 5d6fcc4975
Merge pull request #65 from kpfleming/document-hid-key-none
Add note to discourage users from using HID_KEY_NONE.
2024-03-15 13:47:48 +01: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 92a3c07a19 Updated README 2024-02-15 10:31:00 +01:00
Hrvoje Cavrak 654c9e818b Updated README 2024-02-15 10:29:19 +01:00
Hrvoje Cavrak 098aabfc57 Minor updates and bugfixes
- Mouse movements should be smoother on the other Pico
- Reworked CMakeLists with foreach to avoid duplication
- Increased WDT timeout
2024-01-27 22:45:27 +01: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 c21d5b14ea README formatting 2024-01-16 18:58:06 +01:00
Hrvoje Cavrak 6aff14e05a Typo 2024-01-16 18:53:44 +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 2711b911ee Added proper USB VID/PID
Kindly assigned by the Raspberry Pi foundation, the project got its own
VID/PID so removing the current "test" one and adding this one. No other
changes.
2024-01-13 22:22:32 +01:00
Hrvoje Čavrak c9a3bc44b3
Merge pull request #29 from Gusher123/patch-1
Update README.md
2024-01-13 22:07:20 +01:00
Gusher123 68f8d308fc
Update README.md
Two additions to the silkscreen that are handy while soldering
2024-01-13 18:04:50 +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 73a83b72e3 Updated known bugs, progress and software alternatives in README 2024-01-07 00:09:36 +01:00
Hrvoje Cavrak a49505c465 Fixing a strange bug due to tusb_inited().
Interesting things happen when TinyUSB is used both for host and device.

bool tusb_inited(void)
{
  bool ret = false;
  ret = ret || tud_inited();
  ret = ret || tuh_inited();
  return ret;
}

-> This is effectively tud_inited() || tuh_inited(), which is great
   but tuh_task() should check tuh_inited() not tusb_inited(). This way,
   tusb_inited() returns true when tinyusb device gets inited correctly
   and tuh_task gets stuck in an endless loop with watchdog rebooting the
   device.
2024-01-06 00:21:01 +01:00
Hrvoje Cavrak e2be2e13e0 Updating docs 2024-01-03 11:44:16 +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 6e4eea4b27 Updated README with assembly guide video 2024-01-02 19:03:31 +01:00
Hrvoje Cavrak 740f1ee5b9 Adding software alternatives 2023-12-30 14:43:04 +01:00
Hrvoje Cavrak 9ff7dad736 Adding CAD files for the case design 2023-12-30 14:30:02 +01:00
Hrvoje Čavrak 44960f7658
Merge pull request #11 from SamuelMarks/patch-1
[README.md] Use `cmake --build` and source location flags to simplify…
2023-12-29 19:19:01 +01:00
Samuel Marks 8519e4bbc3
[README.md] Use `cmake --build` and source location flags to simplify and cross-platform configuring & building 2023-12-29 13:15:39 -05:00
Hrvoje Cavrak ce27f335fe README update 2023-12-29 10:19:17 +01:00
Hrvoje Čavrak a03e76fc9f
Update README.md to describe power limitation 2023-12-27 19:09:53 +01:00
Hrvoje Cavrak eff78fda3f Updated FAQ section 2023-12-26 21:01:02 +01:00
Hrvoje Čavrak 378b3f06fb
Updating USB-A part number. 2023-12-26 20:52:02 +01:00
Hrvoje Čavrak 56562bcf62
Update README.md 2023-12-26 17:52:05 +01:00
Hrvoje Cavrak c10f971038 Initial Commit 2023-12-24 23:22:05 +01:00
Hrvoje Čavrak 5896e50802
Initial commit 2023-12-24 23:20:37 +01:00