Virtual Keyboard
-
Good idea
nobody crazy enought to add a virtual keyboard directly in ES too ? -
@digitaLumberjack Why would you like to have it bound to ES? I think if you have a virtual keyboard then its system and not software specific. In other words: If you have a system that requires a virtual keyboard from time to time than its probably not a matter of the software being used in those moments but rather because of the system lacking in a keyboard input. Example for Recalbox: You may want to use the virtual keyboard for kodi as well.
-
For a virtual keyboard you need to have access through another terminal (computer, cellphone, tablet, ...). Adding an "on-screen keyboard" to ES (as Kodi already has) allows you to use it even without an internet connection and in a much faster way.
-
@paradadf Oh I see what you mean. Well I'm quite far with the development of the web based solution and to be honest its also a different use case than an onscreen keyboard[1]. So I'll finish my work first. I think I'm not the right one when it comes to expanding ES since I'm not too familiar with (and don't like writing) C++.
[1] Operating an onscreen keyboard with a game pad is really slow and annoys me every time I have to do it. Using the web based solution you can use a touchscreen or even a physical keyboard of another device => much faster.
-
Update: Proof of concept works. Now I'm working on some essential features (slowly as my studies are keeping me quite busy these days).
In case someone is interested in the progress, here is a link to the commit history of my fork:
https://github.com/roba91/node-virtual-gamepads/commits/virtual_keyboard -
@Robsdedude Could be a good idea to allow adding 'virtual' keys to the keyboard that could be linked to Recalbox Hotkey commands or to specially created hotkey commandes (I'm thinking ejection and change discs commands on the PSX emulator here).
-
@voljega You known that there's also the virtual gamepad? I'm saying this because recalbox's hotkey commands are only available for controllers (game pads) not for keyboards. At the moment my keyboard registers it self on the server side (this would be your rpi then) as keyboard not as gamepad. Even though I could register as a mixed device (keyboard and gamepad together). But why would you need this? Why not just use the virtual or a physical gamepad?
PS: I'm always open for new ideas but I just don't see a benefit big enough to invest more time for that feature.
-
@Robsdedude for joystick with only a few button like the nes one but also arcade stick with only six buttons it could allow the user to use every hotkey from your keyboard, even the hotkeys not mapped on the joystick (hk + R2 for instance)
-
You need to check this out! A guy on the retropie forum presented a mod for ES almost a month ago...
There are many interesting things there, but concerning this thread, tada...
more pictures here: http://imgur.com/a/Kdoif
And the source code for anyone who understands it XD
https://github.com/jacobfk20/EmulationStation-RPiE -
@voljega I now see the need for such a feature. But I somehow think this feature does not fit into the keyboard as this is not the purpose of a keyboard. But I'll think over it and maybe I'll get a good idea how to implement such a feature.
@paradadf This is awesome. Thanks for the link. Will you (reaclbox dev-team) copy the OSK from that ES-Fork? I would love to see that feature in a future version of recalbox. But anyway, I will continue the work on my project because, as said, the purpose still differs. Some key points that differ are the fact that using a touch or even hardware keyboard is much faster or the fact that the OSK is missing special keys like enter and is only available for text input in ES but not for controlling the system (e.g. key shortcuts in kodi or any other software that may join the recalbox package in the future).
-
@Robsdedude the OK would be the ENTER, more than that isn't needed for ES. But sadly I belong to the people that doesn't understand the code XD I'm not part of the dev team.
-
@paradadf great news, i'll check that soon.
-
(Somewhat disappointing) Update: I will give up on the hardware keyboard support. This is due to the fact that the mapping from JavaScript key codes to lingo key codes (what uinput uses which is used by the server) is ridiculously hard (if not even impossible) to do.
So I will sadly have to stick to the touch/click keyboard.
Here is just the tip of the iceberg: JavaScript key codes depend on the keyboard layout of the client while lingo's key codes don't. The will stay the same no matter what the system's keyboard layout looks like. So at least I would have to ask the client to tell me it's keyboard layout an have to have a mapping for every possible layout.