-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Oculus Quest compatibility/Keyboard not shown/Enter+Del not working #1832
Comments
There are two issues here, which I would guess are unrelated. The non-functional keys might be a server issue. Could you test with TigerVNC's Xvnc/vncserver? It has a known robust keyboard handling. I'm not familiar with the Oculus interface. Does it automatically pop up a keyboard whenever a text field is activated? I know that with SteamVR you need to click a keyboard button in the VR interface. What does this page give you from the Oculus web browser: https://patrickhlauke.github.io/touch/pointer-hover-any-pointer-any-hover/ |
Yes, if you open noVNC's settings, you can change the log level to debug. At that point, you'll get keyboard events in the browser's console log. |
@samhed, what do you make of that capability list? |
This is a good test site otherwise: https://domeventviewer.com/key-event-viewer.html It doesn't work exactly like noVNC, but similar. |
No event for Enter/Del... Also tried: https://domeventviewer.com/key-event-viewer.html and typed l + [Enter]+ [Del] |
Regarding showing the virtual keyboard button; unfortunately it seems those pointer/hover capabilities doesn't help whatsoever. We rely on those media queries to detect if we have a touch device or not. Perhaps we need a way to overwrite our touch detection.. |
Thats one part which I can manually overrule/solve. Why Enter/Del is not working is still a mystery. I can try to add a keyboardsymbol for enter and delete like Ctrl+Alt+Del as workaround... |
It seems to be behaving like an ancient web browser. We should still have handling for that, so I'm not sure why noVNC isn't picking up the keys. Perhaps their browser has more bugs. The browser log is incomplete, though. Make sure there aren't any filters active in the browser. The debug output seems to be entirely missing. |
Console with all levels enabled: |
Great. Now, the log shows something for the Enter and Backspace keys. So we are getting something from the browser. We're just not able to make fully sense out of it. Let me have a look at the code and see if I can figure out what goes wrong. |
Ah, I think it is because the browser has incorrectly implemented Could you try this change: diff --git a/core/input/util.js b/core/input/util.js
index 58f84e55..36b69817 100644
--- a/core/input/util.js
+++ b/core/input/util.js
@@ -67,7 +67,7 @@ export function getKeycode(evt) {
// Get 'KeyboardEvent.key', handling legacy browsers
export function getKey(evt) {
// Are we getting a proper key value?
- if (evt.key !== undefined) {
+ if ((evt.key !== undefined) && (evt.key !== 'Unidentified')) {
// Mozilla isn't fully in sync with the spec yet
switch (evt.key) {
case 'OS': return 'Meta'; |
Its working! Thanks a lot! Only change I still need is to force show the keyboard symbol. Maybe add a checkbox in the settings as long theres no good mediaquerys for that? |
Great. I've committed it as ab2fd41. Note that you should really report this issue to Meta. The major browsers have supported modern key events for almost ten years now, so we might remove support for legacy stuff eventually. Oculus should really get in sync with the big players.
Yeah, it sounds like we need an override for when we're not getting good detection of the environment. |
I reported it to Meta. |
Separated the issue with the virtual keyboard button not showing to issue #1837. Since everything seems to be sorted here I'll go ahead and close this. |
Describe the bug
I tried noVNC on Oculus Quest 3 build in Browser. Its really nice and easy to work on a remote machines. But the keyboard symbol is missing... so i commented out the :root.noVNC_connected #noVNC_mobile_buttons css. Show/Hide keyboard is functional now but is not displayed. Maybe a force flag in settings to enable keyboard icon?
Another Problem is that everythings working, also german umlauts, BUT enter and delete keys doing nothing/are ignored... Any hints?
To Reproduce
Steps to reproduce the behavior:
Run noVNC on Linux/Ubuntu, example with wayland gnome-vnc:
git clone https://github.com/novnc/noVNC.git
grdctl vnc enable
systemctl --user start gnome-remote-desktop
websockify -D --web=noVNC/ --cert=novnc.pem 6080 localhost:5900
Open Standard Browser in Oculus Quest 3 (OS V60)
Goto URL of noVNC Server.... https://xxxx:6080
Connect
Expected behavior
Keyboard symbol should be visible.
Enter+Delete Key should be working.
Client (please complete the following information):
Server (please complete the following information):
Additional context
Enter+Delete key not working only testable if keyboard symbol forced via commenting: :root.noVNC_connected #noVNC_mobile_buttons
The text was updated successfully, but these errors were encountered: