pweingar / FoenixMCP

A portable kernel for the Foenix series of computers.
BSD 3-Clause "New" or "Revised" License
10 stars 5 forks source link

Keyboard handling overflow ? #30

Open vinz6751 opened 2 years ago

vinz6751 commented 2 years ago

Reproduction steps: 1 Boot 2 Keep a arrow key down. 3 After some time, I get a "Command not found Could not load file: 000004B0" (or whatever address, seems to be in the low memory though)

Somebody can reproduce ?

pweingar commented 2 years ago

I think this is not so much an overflow as the system hitting the limit on the line size in the command line. sys_chan_readline takes a maximum size and treats anything over that limit as forcing a carriage return. Two things could (should?) happen here: one is for arrow key escape sequences to be caught and ignored/handled... and the other might be to keep reading keys until the CR but alert the user if the line length has been exceeded (and ignore those extra keypresses).

Thoughts?

vinz6751 commented 2 years ago

We could handle better the keys from the CLI. Readline could safely ignore up/down I suppose.

The CLI could also intercept keystrokes and handle things itself, so we can e.g. provide autocompletion later. For now I could just: