hrvach / deskhop

Fast Desktop Switching Device
GNU General Public License v3.0
5.97k stars 168 forks source link

Different screen dimensions and mouse switching #22

Closed raldnor closed 5 months ago

raldnor commented 5 months ago

Wow, what a great project this is!

I have tried to use the deskhop on one system with three monitors attached where the monitor in the middle has different dimensions than the outer two, and the other system is a laptop with its own screen. This seems not to work so well. I don't know if it's a soldering mistake, windows (laptop) vs Linux (three monitor system) or the discrepancy between the monitor resolutions, but on the three monitor system the mouse does not move at all, and on the laptop (when switched to 'B') the mouse can only move horizontally at the top of the screen.

Would it be possible to change the firmware in such a way that the mouse just switches as is between two systems? I realise that the seamless experience won't work as well, but the ability to change between the two methods might give more flexibility in complex scenarios.

Please keep up the good work :)

hrvach commented 5 months ago

It might be actually due to the mouse sending something device can't parse properly or not moving to the report mode despite being told to. Which mouse? Can you try this firmware test_fw.zip and let me know? Cheers!

raldnor commented 5 months ago

That's a fast response! Thanks!

Your firmware seems to have fixed the not working y-movement on the laptop screen.

When I try to move the mouse cursor off-screen (to the right edge of the laptop) I expect the deskhop to switch and that the mouse appears on the 3-monitor system, but both events do not happen.

3-monitor system = A Laptop = B

Mouse works only on B, the open edge on B seems to be on the right side of the monitor. When moving beyond the right edge of B (on the laptop) the led of the B-pico turns off, but the led of the A-pico does not turn on. Only when using caps-lock the led of A turns on and then the keyboard works, but not the mouse.

Hope this makes sense.

raldnor commented 5 months ago

Oh, the mouse is a Microsoft Compact Optical Mouse 500, a very tiny wired laptop mouse. I also tried a Logitech wireless MX master mouse and that results in the same behavior.

raldnor commented 5 months ago

You're very welcome, I love what you made and it was to be expected that MS would once again be the culprit. Somehow it seems to be part of their business model to break beautiful working things /rant mode off. Would it be possible to create a key combination to switch between absolute and relative mouse mode?

hrvach commented 5 months ago

You're very welcome, I love what you made and it was to be expected that MS would once again be the culprit. Somehow it seems to be part of their business model to break beautiful working things /rant mode off. Would it be possible to create a key combination to switch between absolute and relative mouse mode?

@raldnor I'm sorry, I have pasted my reply in the wrong thread because I'm a dumbass. Your issue seems different, and would suggest your devices are not communicating. You are aiming for "keep pressing caps lock to toggle between leds" behavior.

Check:

  1. ADuM1201 chip has +3.3V on pin8 with respect to pin 5 and has +3.3V on pin 1 with respect to pin 4
  2. -||- pin 5 is connected to Pico A GND, pin 4 is connected to Pico B GND
  3. -||- Pin 7 is connected to pico A pin 16 and that's soldered down, pin 2 is connected to pico B pin 22, same thing
  4. -||- Pin 6 is connected to Pico A pin 17, same thing, pin 3 is connected to pico B pin 21, same thing

Let me know how your debugging goes.

raldnor commented 5 months ago

Ehrm, I don't follow :). The caps lock key works like a charm and the keyboard is switching. Also the leds switch between A and B when using the caps lock key. Are you sure you replied in the wrong thread?

hrvach commented 5 months ago

Mouse works only on B, the open edge on B seems to be on the right side of the monitor. When moving beyond the right edge of B (on the laptop) the led of the B-pico turns off, but the led of the A-pico does not turn on. Only when using caps-lock the led of A turns on and then the keyboard works, but not the mouse.

I was basing my recommendation on this but wrongly assumed your caps lock only turns off A and not B, thanks for clarifying!

So, my diagnosis would be - UART B->A not working correctly, based on: mouse only works on B, moving it away from screen turns off led B but doesn't light up led A, and keyboard can work on both.

That reduces the number of things to check to:

  1. ADuM1201 pin 3 connected to pico B pin 21 (GPIO 16)
  2. ADuM1201 pin 6 connected to pico A pin 17 (GPIO 13)

When it starts working correctly, moving the mouse will turn on the other LED too!

I'd recommend just re-soldering those pins and calling it a day :)

raldnor commented 5 months ago

You were right! Re-soldering the 8-pin chip did the trick. It works like a charm now, thanks a lot!