sysprog21 / semu

A minimalist RISC-V system emulator capable of running Linux kernel
MIT License
253 stars 47 forks source link

Handle UART input with termios #17

Closed JiggerChuang closed 1 year ago

JiggerChuang commented 1 year ago

The original keybord input handling in UART generates an extra endline character, which causes tab completion and vi editor fauilure.

This change incorparates termios function to address the above issue. Following this change, users can utilize the vi editor, benefit from tab completion, and exit semu by pressing Ctrl-a followed by x.

jserv commented 1 year ago

Known issue: During the booting process of the Linux kernel, the key sequence Ctrl-A X may not have an immediate effect because the emulator itself fails to accept UART events. @JiggerChuang, add the known issue at the end of git commit message and improve it in another pull request.

jserv commented 1 year ago

Thank @JiggerChuang for contributing!