- 05 Apr, 2011 1 commit
-
-
Joel Martin authored
This is part of addressing issue #21 - non-US keyboard layouts. There are several challenges when dealing with keyboard events: - The meaning and use of keyCode, charCode and which depends on both the browser and the event type (keyDown/Up vs keyPress). - We cannot automatically determine the keyboard layout - The keyDown and keyUp events have a keyCode value that has not been translated by modifier keys. - The keyPress event has a translated (for layout and modifiers) character code but the attribute containing it differs. keyCode contains the translated value in WebKit (Chrome/Safari), Opera 11 and IE9. charCode contains the value in WebKit and Firefox. The which attribute contains the value on WebKit, Firefox and Opera 11. - The keyDown/Up keyCode value indicates (sort of) the physical key was pressed but only for standard US layout. On a US keyboard, the '-' and '_' characters are on the same key and generate a keyCode value of 189. But on an AZERTY keyboard even though they are different physical keys they both still generate a keyCode of 189! - To prevent a key event from propagating to the browser and causing unwanted default actions (such as closing a tab, opening a menu, shifting focus, etc) we must suppress this event in both keyDown and keyPress because not all key strokes generate on a keyPress event. Also, in WebKit and IE9 suppressing the keyDown prevents a keyPress but other browsers still generated a keyPress even if keyDown is suppressed. For safe key events, we wait until the keyPress event before reporting a key down event. For unsafe key events, we report a key down event when the keyDown event fires and we suppress any further actions (including keyPress). In order to report a key up event that matches what we reported for the key down event, we keep a list of keys that are currently down. When the keyDown event happens, we add the key event to the list. If it is a safe key event, then we update the which attribute in the most recent item on the list when we received a keyPress event (keyPress should immediately follow keyDown). When we received a keyUp event we search for the event on the list with a matching keyCode and we report the character code using the value in the 'which' attribute that was stored with that key. For character codes above 255 we use a character code to keysym lookup table. This is generated using the util/u2x11 script contributed by Colin Dean (xvpsource.org).
-
- 03 Apr, 2011 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
API change: for intergrators that explicitly include the Javascript files (that do not use include/vnc.js)js, include/input.js is a new file that must also be included. The mouse and keyboard handling could be useful on its own so split it out into a Keyboard and Mouse class in include/input.js. This refactoring is preparation to deal with issue #21 - non-US keyboard layouts.
-
- 29 Mar, 2011 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
Fix mouse button mapping in IE9. All browsers have converged on a standard left=0, middle=1, right=2 ... all except IE that is. Add html5 doctype to tests. In vnc_perf test, use do_test instead of start for function name since start is a keyword in IE. In error about Flash give a link to Adobe's download page.
-
- 26 Mar, 2011 1 commit
-
-
Phil Phillips authored
-
- 25 Mar, 2011 1 commit
-
-
Joel Martin authored
-
- 24 Mar, 2011 1 commit
-
-
Joel Martin authored
-
- 22 Mar, 2011 1 commit
-
-
Joel Martin authored
Current timeout is 2 seconds for connect timeout. Use 5 seconds if web-socket-js (Flash WebSockets emulator) is being used. On Windows XP with Flash 10.2.152.26, connecting seems to take quite a bit longer than it probably should. This should make it work more consistently.
-
- 16 Mar, 2011 1 commit
-
-
Joel Martin authored
Syncs with same change to websockify (7534574a2f). Primary change is removal of FABridge interface. Seems to improve overall latency by perhaps 10%. Also, the slowdown over time in Opera is about half as bad (but still there).
-
- 15 Mar, 2011 1 commit
-
-
Joel Martin authored
This allows tests to work on the github pages site.
-
- 14 Mar, 2011 1 commit
-
-
Joel Martin authored
-
- 23 Feb, 2011 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
Compares normal Javascript arrays with Canvas ImageData arrays and Typed Arrays (ArrayBuffers from WebGL).
-
- 19 Feb, 2011 1 commit
-
-
Joel Martin authored
-
- 05 Feb, 2011 1 commit
-
-
Joel Martin authored
-
- 03 Feb, 2011 1 commit
-
-
Joel Martin authored
Thanks to Michael Sersen for creating images/Logo.svg. - Add images directory with original SVG logo, favicon, and some derivative PNGs of the logo for different purpose. - Note that license on images/* is CC BY-SA. - Add utils/img2js.py to take an image and generate a base64 encoded data URI string. - Add base64 encoded data URI screen logo to display in canvas when disconnected.
-
- 02 Feb, 2011 1 commit
-
-
Joel Martin authored
Using HTML5 doctype means CSS pixels sizes must have "px" suffix which many of them did not. Fix that.
-
- 01 Feb, 2011 1 commit
-
-
Joel Martin authored
Call waitpid in loop to catch SIGCHLD signals that happen while handling the original SIGCHLD signal. Pulled from websockify.
-
- 31 Jan, 2011 3 commits
-
-
Joel Martin authored
-
Joel Martin authored
-
Joel Martin authored
API change: changed include path variable from VNC_uri_prefix to URI_INCLUDE since websock.js uses the variable and websock.js is no longer just for noVNC (i.e. websockify is really the canonical location for websock.js). Changes to get web-socket-js to work. Right now it's a hack to get around: https://github.com/gimite/web-socket-js/issues#issue/41. The hack is to disable caching of the flash objects by appending "?" + Math.random() to the end of the flash object path (but only when using IE).
-
- 24 Jan, 2011 3 commits
-
-
Joel Martin authored
Opera 11 native WebSockets (if enabled) seems to have bad behavior for the bufferedAmount so add change from websockify project to allow max bufferedAmount (before send queue is delay) to be configured. Also, Opera 11 and 10.60 behave like Mozilla regarding the '-' key so translate it correctly.
-
Joel Martin authored
If all send data was flushed from the send queue then return true, otherwise false. This doesn't mean the data won't be sent, just that it wasn't sent this time and is queued.
-
Joel Martin authored
Only delay sending data if bufferedAmount is greater than 1000. This seems to match the intention of the spec better. bufferedAmount does not mean that we can't send, it's just an indication that the network is becoming saturated. But Opera 11 native WebSockets seems to have a bug that bufferedAmount isn't set back to zero correctly so we'll be a bit more tolerant.
-
- 19 Jan, 2011 3 commits
-
-
Joel Martin authored
Issue #8: https://github.com/kanaka/noVNC/issues#issue/8
-
Joel Martin authored
Related to this issue: https://github.com/gimite/web-socket-js/issues/#issue/50 This prevents the "Uncaught exception: TypeError: 'this.__handleEvents' is not a function" everytime the timer fires. Yay, one of Javascript's worst behaviors; the way it sets "this".
-
Joel Martin authored
Issues #27 (safari cursor rendering messed up) and #29 (firefox 3.6.10 segault). Finally found some better reference on the icon/cursor format which is added to the docs/links file. It seems like I was missing the XOR section. So setting the cursor would cause corruptin in Safari rendering or the segfault for firefox.
-
- 18 Jan, 2011 3 commits
-
-
Joel Martin authored
Move the Advanced Usage, Integration and Troubleshooting sections to their own pages in the wiki. Also, update wsproxy.py referneces to be websockify.
-
Joel Martin authored
Check keyLocation and translate numpad keys into numbers. keyLocation is not widely supported yet, but it should start percolating into browsers eventually: http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent This change is based on: https://github.com/leeor/noVNC/commit/8e59e3772c91eaffaa0f6d53270b97f1fe8510b4
-
Joel Martin authored
It is now here: https://github.com/kanaka/noVNC/wiki/Browser-support
-
- 17 Jan, 2011 4 commits
-
-
Joel Martin authored
To go along with addition of performance notes to the website.
-
Joel Martin authored
-
Joel Martin authored
Update to a build based on 20f837425d4 from gimite/web-socket-js. This changes the event handling code and fixes the frequent recursive call into Flash errors.
-
Joel Martin authored
-
- 13 Jan, 2011 3 commits
-
-
Joel Martin authored
Copy in include/websock.js from websockify and use that instead. Still some cleanup of network code but it's a good start.
-
Joel Martin authored
https://github.com/kanaka/websockify is now the canonical location of websockify (formerly wsproxy). A copy of the python version is kept here for backwards compatibility and ease-of-use. The other versions and related test scripts are in websockify.
-
Joel Martin authored
-
- 12 Jan, 2011 2 commits
-
-
Joel Martin authored
-
Joel Martin authored
-