Skip to content
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

Support for Beirui Kone A2 Remote Control Hardware #62

Open
zoushiyin opened this issue Nov 22, 2024 · 28 comments
Open

Support for Beirui Kone A2 Remote Control Hardware #62

zoushiyin opened this issue Nov 22, 2024 · 28 comments
Assignees

Comments

@zoushiyin
Copy link

I'm interested in trying out a remote control hardware: Beirui Kone A2. Does this device have support? If not, are there any plans to add support for it?

Thank you!

@No0ne
Copy link
Owner

No0ne commented Nov 22, 2024

Please connect a serial cable to GPIO0 and post the debug output while plugging the device in.

@0x504B0304
Copy link

here is it's hid report descriptor:
protocol:2
0x05 0x01 0x09 0x02 0xa1 0x01 0x85 0x01 0x09 0x01 0xa1 0x00 0x05 0x09 0x19 0x01 0x29 0x03 0x15 0x00 0x25 0x01 0x95 0x03 0x75 0x01 0x81 0x02 0x95 0x01 0x75 0x05 0x81 0x03 0x05 0x01 0x09 0x38 0x15 0x81 0x25 0x7f 0x75 0x08 0x95 0x01 0x81 0x06 0x09 0x30 0x09 0x31 0x15 0x00 0x26 0xff 0x7f 0x35 0x00 0x46 0xff 0x7f 0x75 0x10 0x95 0x02 0x81 0x02 0xc0 0xc0
pid 572b,vid 0483
HID device address = 1, instance = 1 is mounted
protocol:2
0x05 0x01 0x09 0x02 0xa1 0x01 0x85 0x02 0x09 0x01 0xa1 0x00 0x05 0x09 0x19 0x01 0x29 0x03 0x15 0x00 0x25 0x01 0x95 0x03 0x75 0x01 0x81 0x02 0x95 0x01 0x75 0x05 0x81 0x03 0x05 0x01 0x09 0x38 0x15 0x81 0x25 0x7f 0x75 0x08 0x95 0x01 0x81 0x06 0x09 0x30 0x09 0x31 0x16 0x01 0x80 0x26 0xff 0x7f 0x75 0x10 0x95 0x02 0x81 0x06 0xc0 0xc0
pid 572b,vid 0483
HID device address = 1, instance = 2 is mounted
protocol:1
0x05 0x01 0x09 0x06 0xa1 0x01 0x05 0x07 0x19 0xe0 0x29 0xe7 0x15 0x00 0x25 0x01 0x95 0x08 0x75 0x01 0x81 0x02 0x95 0x01 0x75 0x08 0x81 0x03 0x95 0x06 0x75 0x08 0x15 0x00 0x25 0xff 0x05 0x07 0x19 0x00 0x29 0x65 0x81 0x00 0x25 0x01 0x95 0x05 0x75 0x01 0x05 0x08 0x19 0x01 0x29 0x05 0x91 0x02 0x95 0x01 0x75 0x03 0x91 0x03 0xc0

@No0ne
Copy link
Owner

No0ne commented Nov 22, 2024

Using http://eleccelerator.com/usbdescreqparser/ this looks like a normal mouse+keyboard combo.
What does it do with the latest 1.3 pre-release?

@No0ne No0ne self-assigned this Nov 22, 2024
@0x504B0304
Copy link

Using http://eleccelerator.com/usbdescreqparser/ this looks like a normal mouse+keyboard combo. What does it do with the latest 1.3 pre-release?

Actually beirui kone A2 normally send mouse report in absolute position format. Is there any way to let PS/2 support absolute position mouse just like a touch screen?

@No0ne
Copy link
Owner

No0ne commented Nov 22, 2024

No not possible, absolute mode in PS/2 is implemented in proprietary drivers like for older laptop touchpads which I can't support.

@zoushiyin
Copy link
Author

I only see the report for the keyboard, not the mouse. However, when I move the mouse, the cursor jumps to the bottom-right corner. It seems that the keyboard is working normally. Here is part of the report:

HID(1,0,MOUSE) mounted
ID: 0483:572b
HID has 1 reports
Manufacturer: STMicroelectronics
Product: OrayKVM Mouse Keyboard

HID(1,0,MOUSE) registered for reports
HID(1,1,MOUSE) mounted
ID: 0483:572b
HID has 1 reports
Manufacturer: STMicroelectronics
Product: OrayKVM Mouse Keyboard

HID(1,1,MOUSE) registered for reports
HID(1,2,KEYBOARD) mounted
ID: 0483:572b
HID has 1 reports
Manufacturer: STMicroelectronics
Product: OrayKVM Mouse Keyboard

HID(1,2,KEYBOARD) registered for reports
kb > host e0
kb > host 1f
kb > host e0
kb > host f0
kb > host 1f
kb > host e0
kb > host 1f
kb > host e0
kb > host f0
kb > host 1f
kb > host e0
kb > host 1f
kb > host e0
kb > host f0
kb > host 1f
kb > host e0
kb > host 1f
kb > host e0
kb > host f0
kb > host 1f
kb > host e0
kb > host 1f
kb > host e0
kb > host f0
kb > host 1f
kb > host e0
kb > host 1f
kb > host e0
kb > host f0
kb > host 1f
kb > host e0
kb > host 1f
kb > host e0
kb > host f0
kb > host 1f
kb > host e0
kb > host 1f
kb > host 23
kb > host f0
kb > host 23

Thank you for your help!

@No0ne
Copy link
Owner

No0ne commented Nov 23, 2024

This log output only says you pressed the Win+D shortcut.
As I see in the second HID report descriptor there is also a relative mode. You will need to use this, absolute mode is not going to work.

@zoushiyin
Copy link
Author

I modified ps2ms.c to set ms_streaming to true in an attempt to get the mouse pointer position feedback. However, when I recompile, I encounter the following error:

[ 25%] Performing configure step for 'ELF2UF2Build'
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /home/zoushiyin/pico/ps2x2pico/build/elf2uf2
[ 26%] Performing build step for 'ELF2UF2Build'
[ 50%] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.o
[100%] Linking CXX executable elf2uf2
[100%] Built target elf2uf2
[ 27%] No install step for 'ELF2UF2Build'
[ 28%] Completed 'ELF2UF2Build'
[ 28%] Built target ELF2UF2Build
[ 30%] Building C object CMakeFiles/ps2x2pico.dir/src/ps2x2pico.c.obj
/home/zoushiyin/pico/ps2x2pico/src/ps2x2pico.c:32:27: fatal error: bsp/board_api.h: No such file or directory
#include "bsp/board_api.h"
^
compilation terminated.
CMakeFiles/ps2x2pico.dir/build.make:75: recipe for target 'CMakeFiles/ps2x2pico.dir/src/ps2x2pico.c.obj' failed
make[2]: *** [CMakeFiles/ps2x2pico.dir/src/ps2x2pico.c.obj] Error 1
CMakeFiles/Makefile2:1496: recipe for target 'CMakeFiles/ps2x2pico.dir/all' failed
make[1]: *** [CMakeFiles/ps2x2pico.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

Could you please help me understand what I might be doing wrong? Thank you!

@No0ne
Copy link
Owner

No0ne commented Nov 23, 2024

Make sure you are on Pico-SDK 1.5.1 and TinyUSB 0.17.0, see: https://github.com/No0ne/ps2x2pico?tab=readme-ov-file#build

@zoushiyin
Copy link
Author

This is the data reported by my device, and all the data is showing up in the bottom right corner.
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 254, Y = 254, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x01
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00

@No0ne
Copy link
Owner

No0ne commented Nov 27, 2024

What kind of device is this? If I search for "Beirui Kone A2" nothing shows up.

@0x504B0304
Copy link

What kind of device is this? If I search for "Beirui Kone A2" nothing shows up.

https://sunlogin.oray.com/hardware/kongkong2
It's a commercial kvm hardware, just like pi kvm.

@No0ne
Copy link
Owner

No0ne commented Nov 27, 2024

Ahh, ok! Does it support relative mouse movements?

@zoushiyin
Copy link
Author

zoushiyin commented Nov 27, 2024

This A2 device is used for forwarding keyboard and mouse data, meaning it forwards the data from the controlling end to the controlled end. For the ps2x2pico, the A2 acts as an input device. The data you see above is being sent from the A2 to the ps2x2pico.
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 254, Y = 254, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 254, Y = 254, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 127, Y = 127, Z = 0, Buttons = 0x00
Mouse Move: X = 254, Y = 254, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
keyboard len: 08 id: 00 items: 15
RPT8 00 00 09 00 00 00 00 00
kb > host 2b
keyboard len: 08 id: 00 items: 15
RPT8 00 00 00 00 00 00 00 00

@No0ne
Copy link
Owner

No0ne commented Nov 28, 2024

I will try it with PiKVM (not using the Pico HID bridge) which does absolute and relative mouse on USB.

@No0ne
Copy link
Owner

No0ne commented Nov 28, 2024

Screenshot 2024-11-28 at 06 50 54

If I switch to relative mode, it is indeed working. Does your KVM have such a switch?

@zoushiyin
Copy link
Author

I don't see support for absolute and relative mouse movements in this device. Where in the code can I print out the raw received data? I will send you the code for you to take a look. Thank you.

@0x504B0304
Copy link

I don't see support for absolute and relative mouse movements in this device. Where in the code can I print out the raw received data? I will send you the code for you to take a look. Thank you.

there do have a relative mode switch in sunlogin client software:
mmexportae06d99cabf03b5d64ea07ddc7fdacc8_1732774146471

@No0ne
Copy link
Owner

No0ne commented Nov 28, 2024

Without relative mode it will not work, as I said PS/2 doesn't support absolute mode without special drivers.

The raw data is coming in here: https://github.com/No0ne/ps2x2pico/blob/main/src/usbin.c#L645
You can printf the report bytes [0] to [x], the length is in the parameter len.

@zoushiyin
Copy link
Author

I'm experiencing a similar issue with my A2 device. When I quickly move the cursor back and forth on the controlling end, I can see the cursor moving on the controlled end, but it quickly moves to the corner. I was thinking of using this approach to modify the code, but I'm having trouble getting it to compile without errors. If you could help me with this, it would be greatly appreciated.

Here is the pseudocode for the idea:

// Pseudocode: Convert mouse absolute coordinates to relative coordinates
int x_prev = 0, y_prev = 0;

void process_mouse_data(int x_abs, int y_abs) {
// Calculate the relative increments
int dx = x_abs - x_prev;
int dy = y_abs - y_prev;

// Update the previous coordinates
x_prev = x_abs;
y_prev = y_abs;

// Convert to PS/2 protocol format and send
send_ps2_mouse_data(dx, dy);

}
Thank you in advance for your help!

@No0ne
Copy link
Owner

No0ne commented Nov 28, 2024

Try this, replace:

void ms_send_movement(u8 buttons, s8 x, s8 y, s8 z) {
  ms_db = buttons;
  ms_dx += x;
  ms_dy += y;
  ms_dz += z;
}

With this:

s8 x_prev = 0;
s8 y_prev = 0;

void ms_send_movement(u8 buttons, s8 x, s8 y, s8 z) {
  ms_db = buttons;
  ms_dx += x - x_prev;
  ms_dy += y - y_prev;
  ms_dz += z;
  x_prev = x;
  y_prev = y;
}

@zoushiyin
Copy link
Author

zoushiyin commented Nov 28, 2024

This works, but it seems that the network speed is too slow, causing the cursor to occasionally move straight up and down or left and right. Additionally, sometimes the cursor can move in a curved path, but it is very jerky and appears polygonal, with discontinuous movement.
Mouse Move: X = -1, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 15, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 14, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -5, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -85, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -51, Y = 107, Z = 0, Buttons = 0x00
Mouse Move: X = -9, Y = 6, Z = 0, Buttons = 0x00
Mouse Move: X = -17, Y = 3, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -2, Y = -15, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 12, Y = -6, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 67, Y = -5, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 90, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -20, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -7, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -9, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -23, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -31, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 8, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 75, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 21, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -17, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -12, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -29, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -19, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = -8, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 8, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -19, Y = 1, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -40, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -45, Y = -1, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 53, Y = 24, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 51, Y = 50, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 18, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -1, Y = -23, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -16, Y = -30, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -7, Y = -14, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -7, Y = -9, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -9, Y = -15, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -9, Y = 18, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -7, Y = 14, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -18, Y = 18, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -5, Y = 9, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -14, Y = 6, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -16, Y = -16, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -16, Y = -31, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = -7, Y = -24, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 2, Y = -20, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 16, Y = -2, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 28, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 51, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 25, Y = 0, Z = 0, Buttons = 0x00
Mouse Move: X = 0, Y = 0, Z = 0, Buttons = 0x00

@0x504B0304
Copy link

So,why not just use the relative mode?

@No0ne
Copy link
Owner

No0ne commented Nov 28, 2024

Maybe the conversion to 8-bit signed cuts of the larger absolute values: https://github.com/No0ne/ps2x2pico/blob/main/src/usbin.c#L166

@zoushiyin
Copy link
Author

So,why not just use the relative mode?

The "controlled end mouse" cannot be set to relative mode.

@zoushiyin
Copy link
Author

I still haven't managed to get it working, and I think I'm going to give up.

@0x504B0304
Copy link

I still haven't managed to get it working, and I think I'm going to give up.

留个联系方式,也许可以再讨论下

@No0ne
Copy link
Owner

No0ne commented Nov 30, 2024

How much does this KVM cost? Can you ship one to Europe?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants