Commit Graph

385 Commits

Author SHA1 Message Date
samhed
6227a91c01 Decode from UTF-8 to allow unicode characters in the connection name 2014-03-14 13:44:10 +01:00
Jesper Dam
230784066c Better browser OS detection.
Apparently Firefox on Linux changed the value of navigator.appVersion,
causing our OS detection (used to determine how to interpret different
modifier keys) to fail.

Use navigator.platform instead, which should be more stable.

http://stackoverflow.com/a/19883965/33213
2014-03-12 11:19:57 +01:00
Jesper Dam
c3f6052435 Better key identifiers
Previously we identified keys in keyboard events by the 'key' property
if it was set, and 'keyCode' otherwise.

This turns out to be problematic as Firefox no longer leaves 'key'
undefined (so we fall back to using 'keyCode'), but instead sets 'key'
to 'MozPrintableKey' for all printable keys.

This meant that when (printable) keys are released, we can't match it
against the corresponding keydown event, and instead just send a keyup
event for the last keydown received.

Now, if both 'key' and 'keyCode' are set, use the concatenation of both.
Otherwise prefer 'keyCode', as that is at least unique for every key.

This should let us release the right keys on keyup events.
2014-03-12 11:19:56 +01:00
Julien Fontanet
c7fc3c082f WebSocket protocols are now configurable. 2014-02-19 19:29:06 +01:00
Solly
e791b87572 Merge pull request #242 from Medical-Insight/use-wss-for-binary-detect
Use wss when creating localhost connection to detect binary support (closes #242)
2014-02-17 18:09:16 -05:00
Malcolm Scott
fb35d50f6a Implement XVP UI in HTML 2014-02-17 17:55:28 -05:00
Malcolm Scott
a856a051da Implement XVP extension (shutdown/reboot/reset) 2014-02-17 17:55:28 -05:00
Malcolm Scott
03ab251587 Implement XVP auth 2014-02-17 17:55:28 -05:00
Solly
df6b7d7341 Merge pull request #327 from devicenull/master
Add support for connecting to TightVNC servers
2014-02-10 17:21:29 -05:00
samhed
20074a49eb Removes the connection timeouts to enable slower clients, connections or servers. 2014-02-06 16:08:00 +01:00
Brian Rak
d86cc2d911 Add support for TightVNC auth type 2014-01-30 19:20:41 -05:00
Jesper Dam
f6a1d98a3a Fix issue #326: correct handling of shift key
When shortcut modifiers (modifier keys such as CTRL, which do not participate in
composing character input) are pressed, we try to suppress the keypress
event, as browsers do not reliably generate it. This means that
subsequent key events are decoded only based on the keydown event.

Due to a type error (comparing a string to a number), shift was
mistakenly treated as a shortcut modifier, preventing text input which
relied on shift, such as _ and %, from being generated.
2014-01-06 13:59:25 +01:00
jalf
466a09f0f3 Keyboard Handling [8/8]: Introduce substituteCodepoint() to replace code points which don't have a keysym with ones that do
For now, the only code points this is done for are {s, S, t, T} with comma below (used in Romanian),
 which are replaced by {s, S, t, T} Cedilla.
2013-12-05 12:31:50 -05:00
jalf
bf47095944 Keyboard Handling [7/8]: Replace keysym table with optimized version
Regenerate the keysymdef table without -d.

This eliminates keysym names, which are only used for debugging, and shaves ~40kb off the file size
2013-12-05 12:31:50 -05:00
jalf
2ea40fdf9a Keyboard Handling [6/8]: Update everything to include the new keyboard handling scripts 2013-12-05 12:31:48 -05:00
jalf
fa30469cda Keyboard Handling [5/8]: Update rfb.js to connect mouse events to keyboard handler
This allows the keyboard handler to check modifier key state much more frequently

Since some browsers never send keyup events for modifier keys, we have to
synchronize modifier state whenever we get a mouse or keyboard event
2013-12-05 12:25:31 -05:00
jalf
9ceef041c6 Keyboard Handling [4/8]: Update input.html to work with new keyboard handling
Plug new keyboard handling into input.js (which breaks everything else), and update input.html to work with this
2013-12-05 12:25:30 -05:00
jalf
4ef7566b10 Keyboard Handling [2/8]: Core implementation of new keyboard handling
Add keyboard.js, containing the actual keyboard event parsing code.
2013-12-05 12:25:15 -05:00
jalf
ae52883b93 Keyboard Handling [1/8]: Parse keysymdef.h to produce Unicode -> keysym mappings table
Add a node.js-based tool (utils/parse.js) to read keysymdef.h and produce a JavaScript file
mapping Unicode code points to keysyms.

Also add the generated table (include/keysymdef.js).
2013-12-05 12:24:20 -05:00
Joel Martin
75d69b9f62 Fix to relfect new github.io page base URL. 2013-10-29 14:38:24 -05:00
Joel Martin
f0d30a90f3 Merge pull request #317 from dosaboy/bugs/add_secure_property_to_token_cookie
Adds 'secure' property to 'token' cookie
2013-10-29 07:19:23 -07:00
Takashi Natsume
ad941fadde Adds support for secure attribute on token cookie
This patch adds support for the secure attribute on token
cookies (sent by nova-novncproxy). If the https is used
to transfer the cookie, the secure attribute is set thus
restricting server requestes to secure conections only.
This should prevent man-in-the-middle attacks.
2013-10-29 10:41:51 +00:00
Joel Martin
be09828537 Merge branch 'master' of github.com:kanaka/noVNC 2013-10-11 14:27:12 -05:00
samhed
f4f72e9db9 Merge branch 'master' of https://github.com/kanaka/noVNC into ctrlalttabesc
Conflicts:
	include/ui.js
	vnc.html
2013-10-11 17:20:49 +02:00
Samuel
69127447ac Merge pull request #282 from samhed/framebufferupdate
Allow higher frame rates by using a new approach for framebufferUpdate requests
2013-10-10 02:45:08 -07:00
Samuel
270ae2f9f5 Merge pull request #304 from samhed/localcursor
Enables local cursor by default
2013-10-09 01:44:41 -07:00
Joel Martin
7c76fd32a1 Merge pull request #308 from samhed/autoconnect
Autoconnect option as URL query
2013-10-04 13:29:24 -07:00
samhed
f8ddfc732d Autoconnect option as URL query 2013-10-04 17:59:03 +02:00
samhed
9b9e741b8c On touch devices the default should be to use a remote cursor. 2013-09-24 11:19:17 +02:00
samhed
97aefe5f83 Enables local cursor by default. 2013-09-23 11:48:16 +02:00
samhed
968431dd46 Catch input events to make the onscreen keyboard work in chrome on android. 2013-09-17 15:01:52 +02:00
samhed
b4a979a07e Added a new file for the key symbols, using the well recognized names for the constants from X11:
* The list is found in /usr/include/X11/keysymdef.h
* I did only include the most common symbols for now..
2013-08-30 15:41:46 +02:00
samhed
04d6a8347f Added variables for the keysums to make the code easier to read. 2013-08-29 17:35:22 +02:00
samhed
76e262134e * Removed fbu-requests from the places I missed earlier.
* Added a few clarifying comments.
2013-08-29 13:38:12 +02:00
Anton Lundin
c39df031d8 clearTimeout instead of clearInterval for timers
We create timeouts, not intervals. Then we need to clear them with
clearTimeout.
2013-08-02 09:58:15 +02:00
Joel Martin
292f6a5da7 Merge pull request #269 from phildriscoll/master
Fix to onMouseDisable
2013-07-31 08:35:02 -07:00
samhed
bd88b94393 Switched from using a list to absolute positions to achieve more
consistant behavior across different browsers.
2013-07-25 15:34:16 +02:00
samhed
9d04096e58 Tweaked the media sizing rules to match the new buttons to the left. 2013-07-25 14:05:52 +02:00
samhed
53c01a2353 Added the extra keys Ctrl, Alt, Tab and Esc to the control bar. 2013-07-25 12:49:37 +02:00
samhed
7e24f50b66 Merge branch 'master' of https://github.com/kanaka/noVNC into framebufferupdate 2013-07-24 10:55:21 +02:00
Joel Martin
f3ff971db9 Merge pull request #272 from samhed/doubleclick
Allow for double taps to trigger double clicks even if the second touch is a slight bit off
2013-07-23 08:45:47 -07:00
samhed
fb4394b10b Fixed so that viewportDrag works even if no mouse button is selected. 2013-07-23 14:26:11 +02:00
samhed
dfcedffc16 Make noVNC follow the RFB protocol and keep only one outstanding
framebufferUpdate request at a time.
2013-07-22 15:46:59 +02:00
samhed
df4d6dde30 Merge branch 'master' of https://github.com/kanaka/noVNC into doubleclick 2013-07-19 09:47:47 +02:00
Joel Martin
0e3d505e54 Merge pull request #276 from samhed/screenrealestate
Improved use of screen real estate
2013-07-18 09:58:02 -07:00
samhed
406a8b4e96 Display the desktop name in the document title 2013-07-18 15:51:23 +02:00
samhed
0019d3b055 Added Copyright information to all modified files. 2013-07-17 16:44:13 +02:00
samhed
35b29c98ea * On low resolution devices the status text is now justified to the left
button group instead of centered.
* On low resolution devices the padding towards the edges of the screen of
  the left and right button groups are now removed.
* Since the status_bar was merged into the control-bar the actual status_bar
  element became redundant and was therefor removed.
* Improved the style of the control-bar when there is an error or a warning.
* Implemented a fix so that vnc_auto.html works as intended with the improved
  screen real estate patch.
2013-07-17 16:11:19 +02:00
samhed
6ca8a2c05c Moved the popup_status_panel to the front. 2013-07-12 14:41:57 +02:00
samhed
7ab02c7fc7 Changed the color and weight of the status text to white and bold. 2013-07-12 11:47:41 +02:00