Michael Jumper [Fri, 27 Jul 2012 20:21:45 +0000 (13:21 -0700)]
Do not handle keypress if we already handled the event in keydown.
Michael Jumper [Thu, 21 Jun 2012 05:46:53 +0000 (22:46 -0700)]
Use timeout only as failsafe. Send key events immediately when we know we will handle via keypress or keydown.
Michael Jumper [Thu, 17 May 2012 07:23:52 +0000 (00:23 -0700)]
Implement size for buffers.
Michael Jumper [Wed, 16 May 2012 22:32:46 +0000 (15:32 -0700)]
Renamed deferred handler.
Michael Jumper [Wed, 16 May 2012 20:38:28 +0000 (13:38 -0700)]
preventDefault() in keypress, too.
Michael Jumper [Wed, 16 May 2012 20:36:28 +0000 (13:36 -0700)]
As keydown/keypress are handled via deferred setTimeout(), so should keyup (otherwise, there's a race condition that keyup might happen before the deferred handling of keydown/keypress, and the key might be effectively stuck down or in a repeating state).
Michael Jumper [Wed, 16 May 2012 17:40:06 +0000 (10:40 -0700)]
Should be using clearTimeout(), not clearInterval() for timeout.
Michael Jumper [Wed, 16 May 2012 17:36:37 +0000 (10:36 -0700)]
Don't wait for keypress if keycode well defined. Define space via keycode (some browsers interpret "space" as scroll down).
Michael Jumper [Wed, 16 May 2012 07:52:16 +0000 (00:52 -0700)]
Ignore unknown key events.
Michael Jumper [Mon, 14 May 2012 20:54:44 +0000 (13:54 -0700)]
Only send release for ctrl+alt when both are pressed (we assume Ctrl+Alt == AltGr in the context of keypress).
Michael Jumper [Mon, 14 May 2012 20:44:17 +0000 (13:44 -0700)]
Only release ctrl/alt in keypress handler if character is not a control character. Beware that this causes a regression in Firefox as it sends keypress for Alt+combinations and Ctrl+combinations even though they will not type anything.
Michael Jumper [Mon, 14 May 2012 20:21:43 +0000 (13:21 -0700)]
Only cancel keydown if not typable. Release Ctrl and Alt if actually typing a character via keypress (if they are not functioning as Ctrl or Alt). Cancel keydown if Ctrl or Alt (but not both) are held, even if we expect the character to be typable.
Michael Jumper [Mon, 14 May 2012 17:15:43 +0000 (10:15 -0700)]
Add keyidentifier map.
Michael Jumper [Mon, 14 May 2012 16:17:15 +0000 (09:17 -0700)]
Defer handling of keypress via JS event queue.
Michael Jumper [Sat, 5 May 2012 01:46:20 +0000 (18:46 -0700)]
Updated ChangeLog
Michael Jumper [Tue, 1 May 2012 21:33:31 +0000 (14:33 -0700)]
Properly offset mouse by document scroll amount (Firefox/Chrome, etc. inconsistency) - fixes ticket #124.
Michael Jumper [Wed, 11 Apr 2012 05:53:30 +0000 (22:53 -0700)]
Position mouse cursor only at integer coordinates.
Michael Jumper [Mon, 9 Apr 2012 20:57:58 +0000 (13:57 -0700)]
Fix non-left mouse button clicks (there may not be one touchstart event per touch). Fix setting/resetting of `gesture_in_progress` flag.
Michael Jumper [Mon, 9 Apr 2012 04:51:35 +0000 (21:51 -0700)]
Only send integer coordinates in mouse events.
Michael Jumper [Mon, 9 Apr 2012 04:51:00 +0000 (21:51 -0700)]
Mouse acceleration.
Michael Jumper [Mon, 9 Apr 2012 04:22:09 +0000 (21:22 -0700)]
Avoid crazy accelerating autoscroll by using clientX/clientY instead of screenX/screenY.
Michael Jumper [Fri, 6 Apr 2012 19:38:24 +0000 (12:38 -0700)]
Calculate mouse position including scroll of overflow elements (cannot rely on pageX/Y).
Michael Jumper [Thu, 5 Apr 2012 22:29:55 +0000 (15:29 -0700)]
Revert fixes for iPad #90 due to performance regression - can avoid bug in libguac-client-rdp and friends until it is fixed upstream.
Michael Jumper [Tue, 3 Apr 2012 09:35:32 +0000 (02:35 -0700)]
More efficient blocking, leveraging the now-necessary image data copy.
Michael Jumper [Tue, 3 Apr 2012 09:18:47 +0000 (02:18 -0700)]
Fix iPad synchronization issue (ticket #90).
Michael Jumper [Mon, 2 Apr 2012 01:52:49 +0000 (18:52 -0700)]
"device" not "display" (typo). Switch back to two-finger scroll.
Michael Jumper [Mon, 2 Apr 2012 01:52:06 +0000 (18:52 -0700)]
Provide means of retrieving scale.
Michael Jumper [Mon, 2 Apr 2012 01:20:18 +0000 (18:20 -0700)]
Set scroll and click thresholds relative to screen pixel density (if readable) and size of gesture.
Michael Jumper [Sun, 1 Apr 2012 08:07:14 +0000 (01:07 -0700)]
Add scale function, use bounding div for main display element, such that the display can be scaled independently of the surrounding div, which provides the layout.
Michael Jumper [Sat, 31 Mar 2012 06:12:19 +0000 (23:12 -0700)]
Move all thresholds into properties, implement scrollwheel via touch.
Michael Jumper [Sat, 31 Mar 2012 05:59:46 +0000 (22:59 -0700)]
Check for last touch by verifying touch length 0, not 1. Fix wrong use of max() (should be min).
Michael Jumper [Sat, 31 Mar 2012 05:48:22 +0000 (22:48 -0700)]
Implement right and middle-click.
Michael Jumper [Fri, 30 Mar 2012 06:48:45 +0000 (23:48 -0700)]
Move layers using translation via matrices - do not use CSS top/left.
Michael Jumper [Fri, 30 Mar 2012 06:11:13 +0000 (23:11 -0700)]
Partial cleanup, track and expose key and modifier states.
Michael Jumper [Fri, 30 Mar 2012 00:42:34 +0000 (17:42 -0700)]
Fixed regression with key repeat.
Michael Jumper [Thu, 29 Mar 2012 17:05:38 +0000 (10:05 -0700)]
Allow user of API to decide whether keyboard events are canceled.
Michael Jumper [Tue, 27 Mar 2012 01:51:16 +0000 (18:51 -0700)]
Fixed project URL.
Michael Jumper [Mon, 26 Mar 2012 06:03:54 +0000 (23:03 -0700)]
Change "Connection does not exist" to more user-friendly error.
Michael Jumper [Mon, 26 Mar 2012 00:56:33 +0000 (17:56 -0700)]
Add error for status code of 0.
Michael Jumper [Sun, 25 Mar 2012 20:36:01 +0000 (13:36 -0700)]
Assume space cap if blank (blank caps would otherwise not render, and IE trims the contents of XML tags, which breaks the OSK spacebar).
Michael Jumper [Sun, 25 Mar 2012 02:13:32 +0000 (19:13 -0700)]
Generic error messages from status codes.
Michael Jumper [Sat, 24 Mar 2012 23:57:58 +0000 (16:57 -0700)]
Do not use X-Guacamole-Error-Message - use status code only.
Michael Jumper [Fri, 23 Mar 2012 00:28:24 +0000 (17:28 -0700)]
Use screenX/screenY for touch.
Michael Jumper [Tue, 20 Mar 2012 17:14:49 +0000 (10:14 -0700)]
Fix ticket #114 - mouse position calculated incorrectly.
Michael Jumper [Mon, 19 Mar 2012 22:11:05 +0000 (15:11 -0700)]
In chained tunnel, clear handlers in old tunnel when new tunnel is taking over.
Michael Jumper [Wed, 14 Mar 2012 23:18:11 +0000 (16:18 -0700)]
Properly handle errors on write as well as read.
Michael Jumper [Wed, 14 Mar 2012 01:59:57 +0000 (18:59 -0700)]
Refactor arc to include drawing direction.
Michael Jumper [Tue, 13 Mar 2012 19:12:59 +0000 (12:12 -0700)]
Implement set instruction.
Michael Jumper [Tue, 13 Mar 2012 07:29:21 +0000 (00:29 -0700)]
Layers should clip contents.
Michael Jumper [Tue, 13 Mar 2012 06:58:07 +0000 (23:58 -0700)]
Implemented push and pop.
Michael Jumper [Tue, 13 Mar 2012 06:25:23 +0000 (23:25 -0700)]
Implement distort, shade.
Michael Jumper [Tue, 13 Mar 2012 00:42:44 +0000 (17:42 -0700)]
Implement identity, transform.
Michael Jumper [Tue, 13 Mar 2012 00:39:18 +0000 (17:39 -0700)]
Implemented lfill, lstroke.
Michael Jumper [Tue, 13 Mar 2012 00:37:04 +0000 (17:37 -0700)]
Implemented close, curve, arc.
Michael Jumper [Tue, 13 Mar 2012 00:27:42 +0000 (17:27 -0700)]
Implement start, line, and curve instructions.
Michael Jumper [Tue, 13 Mar 2012 00:04:29 +0000 (17:04 -0700)]
Refactored to more reasonable path operations.
Michael Jumper [Mon, 12 Mar 2012 05:21:54 +0000 (22:21 -0700)]
Buffers should be resizable, too.
Michael Jumper [Mon, 12 Mar 2012 05:13:10 +0000 (22:13 -0700)]
Reset internal stack state when stack automatically reset from resize.
Michael Jumper [Mon, 12 Mar 2012 04:59:19 +0000 (21:59 -0700)]
Alphabetized instruction set for future instruction-adding convenience.
Michael Jumper [Mon, 12 Mar 2012 04:48:06 +0000 (21:48 -0700)]
Implement reset instruction.
Michael Jumper [Mon, 12 Mar 2012 04:33:39 +0000 (21:33 -0700)]
Fix cursor - copyRect() has been renamed to copy().
Michael Jumper [Mon, 12 Mar 2012 04:30:00 +0000 (21:30 -0700)]
Fix reset() to properly reset EVERYTHING.
Michael Jumper [Mon, 12 Mar 2012 04:17:16 +0000 (21:17 -0700)]
Accidentally used getLayer() in RGBA component ints.
Michael Jumper [Mon, 12 Mar 2012 04:10:07 +0000 (21:10 -0700)]
Implement cfill.
Michael Jumper [Mon, 12 Mar 2012 04:00:08 +0000 (21:00 -0700)]
Implemented remaining operations as possible.
Michael Jumper [Mon, 12 Mar 2012 03:16:36 +0000 (20:16 -0700)]
Refactor rect, rename copyRect -> copy, add several necessary operations, remove unused functions.
Michael Jumper [Sat, 10 Mar 2012 00:38:17 +0000 (16:38 -0800)]
For OSK modifiers, call keydown/keyup events only on press, calling keydown if modifier activated, and keyup if modifier deactivated. Do not call keyup on release if key is a modifier.
Michael Jumper [Sat, 10 Mar 2012 00:27:22 +0000 (16:27 -0800)]
Errors thrown by connect() of a chained tunnel should be resent to onerror() if caught within ChainedTunnel.attach().
Michael Jumper [Sat, 10 Mar 2012 00:12:12 +0000 (16:12 -0800)]
Fixed comment on self reference.
Michael Jumper [Sat, 10 Mar 2012 00:11:16 +0000 (16:11 -0800)]
JSDoc, remove useless onerror initialization.
Michael Jumper [Sat, 10 Mar 2012 00:00:23 +0000 (16:00 -0800)]
Only chain to next tunnel if no instructions received. Pass through errors otherwise.
Michael Jumper [Fri, 9 Mar 2012 23:53:54 +0000 (15:53 -0800)]
Implement ChainedTunnel, which wraps an arbitrary list of tunnels, using each in order if a tunnel fails.
Michael Jumper [Fri, 9 Mar 2012 22:56:41 +0000 (14:56 -0800)]
Implement tunnel onerror() for WebSocket.
Michael Jumper [Fri, 9 Mar 2012 20:27:16 +0000 (12:27 -0800)]
Implemented WebSocketTunnel.
Michael Jumper [Thu, 8 Mar 2012 05:38:47 +0000 (21:38 -0800)]
Revert "Removing WebSocket tunnel for stable release. It will be back."
This reverts commit
31a7ce3912ebed5d6fee8b5d400b982b2e87cbfd.
Michael Jumper [Mon, 5 Mar 2012 20:18:15 +0000 (12:18 -0800)]
Adding Matt Hortman to list of contributors.
Michael Jumper [Mon, 5 Mar 2012 19:52:14 +0000 (11:52 -0800)]
Merge remote branch 'matthortman/MBH' into merge-matt
Matt Hortman [Mon, 5 Mar 2012 17:07:45 +0000 (12:07 -0500)]
JS bitwise operators use all 32-bits, added mask to keep bitwise NOT to 8-bits
Michael Jumper [Fri, 2 Mar 2012 00:00:07 +0000 (16:00 -0800)]
Fix OSK to work in IE9+
Michael Jumper [Wed, 29 Feb 2012 21:34:11 +0000 (13:34 -0800)]
Only use classList.add() and classList.remove() if classList is supported.
Michael Jumper [Mon, 27 Feb 2012 21:23:07 +0000 (13:23 -0800)]
Transfer functions on abstract pixels.
Michael Jumper [Mon, 27 Feb 2012 20:36:25 +0000 (12:36 -0800)]
Actually DRAW image data.
Michael Jumper [Mon, 27 Feb 2012 20:23:38 +0000 (12:23 -0800)]
Initial refactor of raster operations to real transfer functions.
Michael Jumper [Mon, 27 Feb 2012 19:41:28 +0000 (11:41 -0800)]
Use composite operation instead of channel mask.
Michael Jumper [Mon, 27 Feb 2012 19:35:02 +0000 (11:35 -0800)]
Use transfer function within copy, if set.
Michael Jumper [Mon, 27 Feb 2012 19:20:25 +0000 (11:20 -0800)]
Implement raster operations as transfer functions, rename setChannelMask to setCompositeOperation, supporting both channel masks and binary raster operations.
Michael Jumper [Thu, 23 Feb 2012 21:27:08 +0000 (13:27 -0800)]
Bumped version to 0.6.0
Michael Jumper [Thu, 23 Feb 2012 19:22:15 +0000 (11:22 -0800)]
Update cursor position when cursor image/hotspot is updated.
Michael Jumper [Thu, 23 Feb 2012 18:23:36 +0000 (10:23 -0800)]
Fix mousewheel support.
Michael Jumper [Wed, 22 Feb 2012 23:23:10 +0000 (15:23 -0800)]
No capture for anything.
Michael Jumper [Wed, 22 Feb 2012 23:14:27 +0000 (15:14 -0800)]
Use addEventListener() for mouse, fix handling of mouseout.
Michael Jumper [Mon, 20 Feb 2012 20:48:26 +0000 (12:48 -0800)]
Implement dispose instruction.
Michael Jumper [Wed, 15 Feb 2012 20:26:56 +0000 (12:26 -0800)]
Layer should preserve composite operation through resize.
Michael Jumper [Wed, 15 Feb 2012 18:17:27 +0000 (10:17 -0800)]
Application should hide cursor. Do not require CSS class definitions.
Michael Jumper [Wed, 15 Feb 2012 18:10:49 +0000 (10:10 -0800)]
Support for new buffered cursor instruction.
Michael Jumper [Wed, 15 Feb 2012 07:07:39 +0000 (23:07 -0800)]
Wrong location for declaration.
Michael Jumper [Wed, 15 Feb 2012 06:58:52 +0000 (22:58 -0800)]
Added pre-defined channel mask constants. Setting cursor layer to Guacamole.Layer.SRC.
Michael Jumper [Wed, 15 Feb 2012 05:11:38 +0000 (21:11 -0800)]
Move cursor layer, rather than redrawing cursor image.
Michael Jumper [Wed, 15 Feb 2012 04:46:48 +0000 (20:46 -0800)]
Initial support for move instruction and layer containers.
Michael Jumper [Sun, 12 Feb 2012 06:00:18 +0000 (22:00 -0800)]
Modify to support new size instruction format (stub).