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

ps2: keyboard+mouse passthru support #171

Merged
merged 1 commit into from
Jul 19, 2024
Merged

ps2: keyboard+mouse passthru support #171

merged 1 commit into from
Jul 19, 2024

Conversation

No0ne
Copy link
Contributor

@No0ne No0ne commented Jun 14, 2024

I'm still implementing this: pikvm/pikvm#476
keyboard and mouse passthru should work :)

keyboard GPIOs are 26=data and 27=clock
mouse GPIOs are 16=data and 17=clock

@mdevaev
Copy link
Member

mdevaev commented Jun 15, 2024

Time to testing!

@mdevaev
Copy link
Member

mdevaev commented Jul 7, 2024

Sorry for the delay. I will try to do this in the coming days. A lot of organizational things required my attention.

@No0ne
Copy link
Contributor Author

No0ne commented Jul 7, 2024

No problemo!

@mdevaev mdevaev merged commit 5bdc998 into pikvm:ps2-ng Jul 19, 2024
@mdevaev
Copy link
Member

mdevaev commented Jul 19, 2024

It seems it's working, but I can't try mouse now. Could you clean warnings?

/home/mdevaev/projects/pikvm/kvmd/hid/pico/src/ph_ps2.c: In function 'ph_ps2_mouse_send_wheel':
/home/mdevaev/projects/pikvm/kvmd/hid/pico/src/ph_ps2.c:120:33: warning: unused parameter 'h' [-Wunused-parameter]
  120 | void ph_ps2_mouse_send_wheel(s8 h, s8 v) {
      |                              ~~~^
[ 32%] Building C object src/CMakeFiles/hid.dir/__/.ps2x2pico/src/ps2in.c.obj
[ 33%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_stdlib/stdlib.c.obj
[ 34%] Building C object src/CMakeFiles/hid.dir/__/.ps2x2pico/src/ps2ms.c.obj
[ 35%] Building C object src/CMakeFiles/hid.dir/__/.ps2x2pico/src/scancodesets.c.obj
[ 36%] Building C object src/CMakeFiles/hid.dir/__/.ps2x2pico/src/ps2kb.c.obj
[ 37%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_platform/platform.c.obj
[ 38%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_gpio/gpio.c.obj
[ 39%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_sync/sync.c.obj
[ 40%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_claim/claim.c.obj
[ 40%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_irq/irq.c.obj
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2in.c: In function 'ps2in_task':
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2in.c:103:28: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
  103 |         if(byte == init[1] && this->state == 2 || byte == 0xfa && this->state > 2 && this->state < 9) {
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
[ 41%] Building ASM object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_irq/irq_handler_chain.S.obj
[ 42%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_sync/sem.c.obj
[ 43%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_sync/mutex.c.obj
[ 44%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_sync/lock_core.c.obj
[ 45%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_sync/critical_section.c.obj
[ 46%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_timer/timer.c.obj
[ 47%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_time/time.c.obj
[ 48%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_time/timeout_helper.c.obj
[ 50%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_util/datetime.c.obj
[ 51%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_util/pheap.c.obj
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c: In function 'kb_set_defaults':
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:176:3: warning: statement with no effect [-Wunused-value]
  176 |   memchr(prev_rpt, sizeof(prev_rpt), 0);
      |   ^~~~~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c: In function 'kb_usb_receive':
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:409:3: warning: statement with no effect [-Wunused-value]
  409 |   memchr(prev_rpt, sizeof(prev_rpt), 0);
      |   ^~~~~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c: In function 'kb_receive':
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:423:9: warning: enumeration value 'KBH_STATE_IDLE' not handled in switch [-Wswitch]
  423 |         switch (kbhost_state) {
      |         ^~~~~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:423:9: warning: enumeration value 'KBH_STATE_SET_LEDS_ED' not handled in switch [-Wswitch]
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:423:9: warning: enumeration value 'KBH_STATE_SET_SCAN_CODE_SET_F0' not handled in switch [-Wswitch]
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:423:9: warning: enumeration value 'KBH_STATE_SET_TYPEMATIC_PARAMS_F3' not handled in switch [-Wswitch]
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:457:11: warning: statement with no effect [-Wunused-value]
  457 |           memchr(scs3keymodemap,0,sizeof(scs3keymodemap));
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:520:13: warning: statement with no effect [-Wunused-value]
  520 |             memchr(scs3keymodemap,0,sizeof(scs3keymodemap));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:531:13: warning: statement with no effect [-Wunused-value]
  531 |             memchr(scs3keymodemap,0,sizeof(scs3keymodemap));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:543:13: warning: statement with no effect [-Wunused-value]
  543 |             memchr(scs3keymodemap,0,sizeof(scs3keymodemap));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2kb.c:554:13: warning: statement with no effect [-Wunused-value]
  554 |             memchr(scs3keymodemap,0,sizeof(scs3keymodemap));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 52%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_pll/pll.c.obj
[ 53%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_clocks/clocks.c.obj
[ 54%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_watchdog/watchdog.c.obj
[ 55%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_uart/uart.c.obj
[ 55%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/common/pico_util/queue.c.obj
[ 56%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_xosc/xosc.c.obj
[ 58%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_vreg/vreg.c.obj
[ 58%] Building ASM object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/hardware_divider/divider.S.obj
[ 59%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_runtime/runtime.c.obj
[ 60%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_printf/printf.c.obj
[ 60%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_bootrom/bootrom.c.obj
[ 61%] Building ASM object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.obj
[ 63%] Building ASM object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_divider/divider.S.obj
[ 63%] Building ASM object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_double/double_aeabi.S.obj
[ 64%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_double/double_math.c.obj
[ 65%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_double/double_init_rom.c.obj
[ 66%] Building ASM object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_double/double_v1_rom_shim.S.obj
[ 67%] Building ASM object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S.obj
[ 68%] Building ASM object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_float/float_aeabi.S.obj
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2ms.c: In function 'ms_receive':
[ 69%] Building C object src/CMakeFiles/hid.dir/__/.pico-sdk/src/rp2_common/pico_float/float_init_rom.c.obj
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2ms.c:165:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
  165 |           ms_type = 0;
      |           ~~~~~~~~^~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2ms.c:166:9: note: here
  166 |         case 0xf6: // Set Defaults
      |         ^~~~
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2ms.c:167:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
  167 |           ms_rate = MS_RATE_DEFAULT;
      |                   ^
/home/mdevaev/projects/pikvm/kvmd/hid/pico/.ps2x2pico/src/ps2ms.c:168:9: note: here
  168 |         case 0xf5: // Disable Data Reporting
      |         ^~~~

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