SimulaVR / Simula

Linux VR Desktop
MIT License
2.95k stars 87 forks source link

Support for special character input #52

Closed lboklin closed 5 years ago

lboklin commented 6 years ago

A must-have for any use case. Right now alphanumeric characters work along with modifier keys, but special characters (such as ~) do not.

lboklin commented 5 years ago

After taking some time looking at this it seems to me that the issue is that we're attempting to translate Godot's high-level key codes into evdev's lower-level event codes, which apparently does not cover non-hardware keys, ie. symbols produced via modifier keys (at least that's the only pattern I've been able to discern).

We're going to have to find a way to pass non-hardware key codes or characters into our compositor.

georgewsinger commented 5 years ago

Vim Test. I found the following issues when testing keys with vim (inside a weston-terminal):

  1. Symbols that don't work.
    • ~
    • KP_0, …, KP_9
    • KP_PERIOD
    • [
    • ]
    • {
    • }
    • /
    • | (but \ does work)
    • : (but ; does work)
    • " (but ' does work)
  2. Symbols that not only don't work but exhibit weird behavior when pressed.
    • #
    • ?
    • $
    • < (but , does work)
    • > (but . does work)
  3. Symbols that I'm not sure about.
    • Alt + *

Everything else seems to work (including, for example, Ctrl + * combos and the remaining KP_* combinations).

lboklin commented 5 years ago

Fixed in fa56e8f