Commit Graph

62 Commits

Author SHA1 Message Date
Hrvoje Čavrak
28c3f1cdd1
Merge pull request #174 from jalmeroth/main
feat: add horizontal scrolling
2024-11-19 13:35:25 +01:00
Jan Almeroth
6d371d096a feat: add horizontal scrolling 2024-11-18 22:51:48 +01:00
Hrvoje Cavrak
8abd1c26dc Bump FW Version 2024-10-31 23:45:32 +01:00
Hrvoje Cavrak
6bbf21931b DeskHop v0.66
- Fixed a bug with special keys parsing
2024-10-31 23:35:07 +01:00
Hrvoje Cavrak
112aed3d0a Update PCB to fix the GND pad on board A pin 3. 2024-09-14 16:55:18 +02:00
Hrvoje Cavrak
8b99499ac0 DeskHop v0.65
- Fixed bug with gaming mode
2024-09-14 15:20:09 +02:00
Hrvoje Cavrak
f08d305d83 Updated donation link to Doctors Without Borders 2024-08-26 21:16:35 +02:00
Hrvoje Cavrak
82f0e217ef Updating README.md with the keyboard shortcut changes. 2024-08-26 12:39:39 +02:00
Hrvoje Cavrak
97a2cea918 DeskHop v0.64 (Bugfixes)
- Caps lock / Num lock didn't correctly remember output B state
  - Windows relative mouse was jumping from secondary to primary
  - Fixed NKRO keyboards without report ID

  - IMPORTANT: moved config shortcut to LEFT CTRL + RIGHT SHIFT + C + O
               because users had issues with keyboards unable to send both
               shifts. Sorry for changing this.
2024-08-24 20:43:15 +02:00
Hrvoje Cavrak
a249aa50f1 DeskHop 0.63 (Bugfixes, small features)
- add gaming mode (use left shift + right shift + G to toggle)
- rework HID queue, smoother operation of rotary dials (no packets lost)
- fix dragging across multiple screens on the same output
- improve read reliability for UI
- move default keyboard hotkey for output switching to LCtrl + Caps Lock
- change default X/Y speed to match 16:9 geometry
2024-08-18 16:31:27 +02:00
Hrvoje Cavrak
1fd0049039 DeskHop v0.62 (Minor Bugfixes)
- Fixed screen lock regression bug
  - Cleaned up trailing spaces

Due to MacOS having issues:
  - Moved screen lock shortcut to right control + L
  - Moved switch lock shortcut to right control + K
2024-08-03 19:32:45 +02:00
Hrvoje Cavrak
7a0e7f31ff Adding images 2024-07-30 18:59:57 +02:00
Hrvoje Cavrak
1415c1d31a DeskHop v0.61 - Promoted RC to Stable
- Single unified firmware binary
- Improved support for NKRO keyboards
- Report mode default for keyboard port
- Improved consumer control parser for variable
  data types (media keys should be better supported)
- System control forwarding
- Improved HID parser
- Web UI to configure instead of keyboard shortcuts
- Firmware upgrade while the device remains functional
- Only one end will need upgrade, the other will get it automatically
- No need to recompile to set most settings
- Improved UART routines to use DMA, more reliable link
- Fixed a bunch of bugs and issues
2024-07-30 14:19:19 +02:00
Hrvoje Cavrak
be645f7596 Small compile bugfix 2024-06-27 23:55:11 +02:00
Hrvoje Cavrak
2fa04aff67 Updated README with Elecrow link 2024-06-23 23:20:45 +02:00
Hrvoje Čavrak
29b29ba810
Merge pull request #103 from chris-010/mouse-parking-position
add config MOUSE_PARKING_POSITION
2024-06-18 11:26:56 +02:00
Hrvoje Čavrak
375f324207
Merge pull request #106 from akorobko/akorobko/wakeup
Wake up on keyboard events
2024-06-18 11:25:58 +02:00
Alexey Korobko
d1c15375e7
Wake up on keyboard events 2024-06-17 20:30:31 -07:00
chris-010
78ee992687 add config MOUSE_PARKING_POSITION 2024-06-12 20:00:17 +02:00
Hrvoje Cavrak
2d93c01421 Updates and bugfixes
- Make MacOS multi-desktop workaround more reliable
  - Partial media keys support
2024-05-13 13:53:38 +02:00
Hrvoje Čavrak
35002c90eb
Merge pull request #89 from jalmeroth/fix/screenlock-macos
chore: fix screenlock
2024-04-15 12:03:23 +02:00
Hrvoje Čavrak
61519def15
Update README.md 2024-04-15 10:40:11 +02:00
Jan Almeroth
b572449372 chore: fix screenlock
Shortcut is always received local to the device the keyboard is
connected to. Send command to all others.
2024-04-11 21:21:19 +02:00
Hrvoje Čavrak
8df007ac13
Merge pull request #83 from jalmeroth/fix/screenlock-macos
fix macos lock key combination
2024-04-02 21:42:42 +02:00
Jan Almeroth
2baa33e828 fix: lets not assume remapped keys
fixes https://github.com/hrvach/deskhop/issues/82
2024-04-02 21:13:30 +02:00
Hrvoje Cavrak
1a91b4d49f Minor fix and update binaries. 2024-03-31 23:58:39 +02:00
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