JohnEarnest / Octo

A Chip8 IDE
MIT License
667 stars 53 forks source link

Support numpad #93

Closed tobiasvl closed 4 years ago

tobiasvl commented 4 years ago

Since the original COSMAC VIP had an ortholinear keypad, it'd be really nice if Octo supported using the ortholinear numpad for input.

There isn't room for all the keys on most numpads – since the 0 key is wider, the + and Enter key are taller, and it'd be really weird to use the top row for anything – but the keys 1-9 being ortholinear would make it much smoother to move in an 8-directional game.

See also #92 which could make this issue obsolete.

JohnEarnest commented 4 years ago

The unusual physical layout of the VIP keypad relative to conventional numpads is the main reason I originally chose to use the left side of the keyboard instead. I agree that for 8-directional movement this is less than ideal. Since a normal numpad can't accommodate all keys and puts nearly all the digits in different places, I feel that having this as a default would be very confusing. Laptop users also may not have a physical numpad, let alone an ortholinear one.

I completely agree, however, that remappable key layouts as suggested in #92 would be a nice feature. The only tradeoff I see there is that it might be easy to create games with keymaps that work nicely on a keyboard but are very non-ergonomic on a VIP keypad or other emulators.

tobiasvl commented 4 years ago

Yep – I see I was a little unclear in #92. I'll explain better there what I meant.

The left side of the keyboard works fine, of course, but note that it poses problems for people who use other keyboard layouts than QWERTY (such as AZERTY or, more esoterically perhaps, Dvorak).

JohnEarnest commented 4 years ago

this should no longer be necessary; closing.

tobiasvl commented 4 years ago

Re: our discussion on Discord, this issue isn't really solved as long as the feature implemented in #92 doesn't differentiate between regular number keys and numpad keys. Buuuuut since that is apparently a limitation in browser/OS behavior, I understand that might be hard to implement.

I don't know if you want to re-open this in case a magical solution presents itself, or if you want to keep it closed as "won't fix", but it seems my dream of an ortholinear VIP-like input method for our games is a ways off!

JohnEarnest commented 4 years ago

I think I'm going to close this as "won'tfix". Numpad scancodes aren't very portable, and such keymappings are unusuable on many keyboards, anyway. I'll continue work on other alternative input methods, keeping in mind the desire for convenient ortholinear mappings.