Commit Graph
57 Commits
Author SHA1 Message Date
Michael Jumper 646f9732f3 GUACAMOLE-352: Track in-progress composition, ignoring "input" events for a composition which is known to be incomplete. 2018-01-16 09:50:54 -08:00
Michael Jumper fd47d1d7ef GUACAMOLE-352: Only attempt to type fully-composed strings. 2018-01-16 09:50:54 -08:00
Michael Jumper cdacd57099 GUACAMOLE-352: Handle "input" / "compositionend" events in a mutually-exclusive manner, as they may conflict. 2018-01-16 09:50:54 -08:00
Michael Jumper 3ee73d835c GUACAMOLE-352: Handle both "input" and "compositionend" events as sources of keys. 2018-01-16 09:50:54 -08:00
Michael Jumper 9dc86119b0 GUACAMOLE-352: Do not attempt to send dead keys (only the composed key should be sent). 2018-01-16 09:50:54 -08:00
Nick Couchman 612d99b797 GUACAMOLE-232: Merge handle known platform/browser keyboard quirks semantically. 2018-01-16 12:00:18 -05:00
Michael Jumper c3d3093d25 GUACAMOLE-232: Automatically press modifiers if remote state does not match local state. 2018-01-15 14:04:15 -08:00
Michael Jumper 960e83f780 GUACAMOLE-232: Do not rely on receiving keyup events on iOS. 2018-01-15 00:25:24 -08:00
Michael Jumper d84f03afea GUACAMOLE-232: Semantically represent platform/browser key event quirks. 2018-01-15 00:24:34 -08:00
Michael Jumper 5ed1586f50 GUACAMOLE-447: Add UIKit key constants sometimes (incorrectly) used by iOS Safari. 2018-01-05 11:01:15 -08:00
Michael Jumper 1810ec971f GUACAMOLE-1: Relicense C and JavaScript files. 2016-03-28 20:50:18 -07:00
James Muehlner f4e94e22f0 GUAC-1463: Don't trust the keydown event if it's for a printable character. 2016-01-18 20:26:19 -08:00
Michael Jumper 7cdfd146ef GUAC-791: Add missing private tags to inner variables/functions. 2015-12-14 14:51:15 -08:00
Michael Jumper 2959513d95 GUAC-791: Fix type expressions to comply with JSDoc 3. 2015-12-14 14:51:15 -08:00
Mike Jumper c54001476d Merge pull request #253 from flangelo/num_keypad_map
GUAC-1314: Added mapping of keycodes for numeric keypad and changed k…
2015-09-24 13:25:52 -07:00
Frode Langelo ff255ce977 GUAC-1314: Remove is_mac flag 2015-09-24 15:55:54 +00:00
Frode Langelo 005d7897fb GUAC-1314: Remove mapping of Mac's Clear to Num Lock. 2015-09-24 03:21:27 +00:00
Michael Jumper 1d5b47a70a GUAC-1322: Within interpret_event() in Guacamole.Keyboard, always return the interpreted event (or null), as required by its definition. 2015-09-04 21:43:08 -07:00
Frode Langelo fdb344ff80 GUAC-1314: Added mapping of keycodes for numeric keypad and changed keyidentifier mapping to not map the typed character if it originated from the keypad. This should also make the numeric keypad work as expected when using VNC. Mapped MacOS Clear to NumLock. 2015-09-03 15:56:40 +00:00
Michael Jumper 17fd23baf0 GUAC-1170: Use keyLocation only if necessary. 2015-04-27 15:05:50 -07:00
Michael Jumper 67624e190c GUAC-661: Reset all keys if keyup received for unknown key. 2015-04-26 13:25:34 -07:00
Michael Jumper efde5fe46b GUAC-998: Prefer to use keysym from recent keydown, rather than keysym from keycode alone. 2015-02-05 18:04:52 -08:00
Michael Jumper 318f3456ec GUAC-884: Clear event queue when keyboard is reset. Ensure no combination of key events can result in a permanently blocked queue. 2014-11-07 14:42:21 -08:00
Michael Jumper 58837fd136 GUAC-890: Allow Guacamole.Keyboard state to be externally modified or reset. 2014-10-16 11:27:16 -07:00
Michael Jumper 200021b27a GUAC-875: Handle possibly-null key identifier. 2014-10-13 14:22:59 -07:00
Michael Jumper c1e5822a19 GUAC-872: Fix keysym definition for PageUp/PageDown key identifiers. 2014-10-13 14:18:57 -07:00
Michael Jumper 8d1bee18aa GUAC-871: Lift up AltGr if alt flag cleared on key event. Do not transform Shift+Alt into Meta. 2014-09-29 17:13:54 -07:00
Michael Jumper 2a30cadb1e GUAC-870: Always interpret Right Alt as AltGr. This seems the only way to allow proper international typing across all supported platforms. There's no way to detect whether Alt is truly Alt under Mac. 2014-09-29 14:24:31 -07:00
Michael Jumper b6769e4ba0 GUAC-391: Add *gag* detection of OS *gag* because there's no other way *gag* to know if it's safe to wait for keypress while Alt is held when keydown is not accurate enough *vomits*. 2014-09-29 02:03:32 -07:00
Michael Jumper 1d42823f82 GUAC-862: Restore handling of keyCode 229 (composition). 2014-09-29 00:13:37 -07:00
Michael Jumper 3e8539381b GUAC-862: Simplify keydown logic. Restore workaround for Chrome meta bug. 2014-09-28 23:54:04 -07:00
Michael Jumper dd3a1af3f2 GUAC-862: Prefer keyCode to DOM3 key for keyup, as it's more accurate when dead keys are used. 2014-09-28 23:12:10 -07:00
Michael Jumper 4d7a49af31 GUAC-862: Perform sanity checks on legacy keyIdentifier. Only release Ctrl+Alt if it appears to be a simulated AltGr based on detected keysym. 2014-09-28 23:06:24 -07:00
Michael Jumper b47c48dbeb GUAC-862: Remove debug logging. 2014-09-28 19:55:22 -07:00
Michael Jumper a9f5bedfe6 GUAC-862: Remove dependency on timing. 2014-09-28 19:12:48 -07:00
Michael Jumper 532dcf6431 GUAC-862: Only handle keydown directly if reliable. Stop waiting for keypress and handle unreliable keydown if a keyup has already occurred (keypress is impossible). 2014-09-28 19:08:56 -07:00
Michael Jumper cf9ff2cb14 GUAC-862: Add reliability flag to KeyEvent. 2014-09-28 17:04:39 -07:00
Michael Jumper aae59f6709 GUAC-862: Add keysym to all KeyEvents. Move keysym determination logic to KeydownEvent/KeyupEvent/KeypressEvent. 2014-09-28 15:14:29 -07:00
Michael Jumper ef42d7db68 GUAC-862: Correct case of key based on shift if keyIdentifier in use. CapsLock cannot be tracked, but that should be OK here. 2014-09-22 16:46:01 -07:00
Michael Jumper 9ef5d14a01 GUAC-862: Use keyIdentifier if it looks like it's necessary. 2014-09-22 16:38:59 -07:00
Michael Jumper a97bab2f4b GUAC-862: Set defaultPrevented of keypress, not just keydown. 2014-09-22 15:05:34 -07:00
Michael Jumper 08983435e1 GUAC-862: Interpret as many events from the log as possible. 2014-09-22 14:49:51 -07:00
Michael Jumper b2ef2971fd GUAC-862: Track keysyms associated with recent keypresses. Add logging of dropped keys. 2014-09-22 14:21:49 -07:00
Michael Jumper e33783adf4 GUAC-862: Handle adjacent keypress for unidentifiable keydown. 2014-09-22 14:00:26 -07:00
Michael Jumper 80c7d67a10 GUAC-862: Interpret e.key as well. 2014-09-22 13:28:19 -07:00
Michael Jumper c6e3f3c686 GUAC-862: Interpret events with reliable keyCodes. 2014-09-22 13:19:18 -07:00
Michael Jumper ed69dc23b1 GUAC-862: Add key event objects and log. Stub event interpretation. 2014-09-22 13:10:31 -07:00
Michael Jumper bb4865783b GUAC-659: Add key identifiers for dead keys (currently only used by Firefox). 2014-09-19 01:24:52 -07:00
Michael Jumper 8e920d17d1 GUAC-659: Do not repeat AltGr. 2014-09-19 01:24:28 -07:00
Michael Jumper 7b6432e2cb GUAC-659: Do not ignore keydown if e.key is present. Pull keysym from e.key in keyup if possible. 2014-09-19 01:03:25 -07:00