James Muehlner
1f8183357c
GUACAMOLE-1113: Always treat alt as AltGr on Mac.
2023-06-15 16:18:36 +00:00
James Muehlner
9e938be878
GUACAMOLE-1113: Restore right alt in keyboard handler.
2023-06-15 16:18:30 +00:00
James Muehlner
fac646b8e0
GUACAMOLE-1810: Fix meta handling on Mac firefox.
2023-06-12 19:40:16 +00:00
Michael Jumper
1ca1161a68
GUACAMOLE-986: Update documentation of all parameters/returns to specify non-nullable and/or primitive types where appropriate.
2021-12-18 23:03:57 -08:00
Michael Jumper
6608ba3e2d
GUACAMOLE-1386: Centralize abstraction of KeyboardEvent contents within KeyEvent and its subclasses.
2021-08-12 22:43:16 -07:00
Michael Jumper
b629b2137e
GUACAMOLE-1386: Do not synchronize modifiers based on key events that were dropped/rejected.
2021-08-12 22:43:16 -07:00
Michael Jumper
b347a118fa
GUACAMOLE-1386: Defer handling of "Meta" until it is known to be functioning as a modifier.
...
Some platforms like ChromeOS use the Meta key as an alternative method
for typing individual keys like Home (Meta+Left) and End (Meta+Right).
In these cases, Meta does not function as a modifier and is actually
implicitly released once the keyboard shortcut is identified.
Since we cannot know whether Meta is actually Meta until it's confirmed
to be used by itself or with another key, we need to defer handling of
Meta keydown until either (1) Meta is released without having been used
with another key or (2) Meta is used as a modifier with another key.
2021-08-12 16:33:19 -07:00
Michael Jumper
5c9483a810
GUACAMOLE-1386: Correct/add "Menu" key definition, which is also not "Super".
2021-07-26 20:26:39 -07:00
Michael Jumper
01a5f6cdb9
GUACAMOLE-1386: Correct keyboard definition of "Windows" key as "Meta", not "Super".
2021-07-26 20:26:04 -07:00
Jakub Vrána
f722072807
GUACAMOLE-986: Add non-nullable modifier to return type of functions never returning null
...
Alternatively use a primitive type instead of nullable boxed type.
2020-03-11 13:27:56 +01:00
Michael Jumper
e3c1b6ac98
GUACAMOLE-232: Mark key as implicitly pressed only when pressed due to another, identifiable key event.
2018-10-03 21:30:26 -07:00
Michael Jumper
9d8027c5cd
GUACAMOLE-232: Correct inverted explicit/implicit logic.
2018-10-03 11:47:07 -07:00
Michael Jumper
eead01944e
GUACAMOLE-232: Rely on recentKeysym for keyup only when the guessed key doesn't seem to actually be pressed.
2018-10-03 10:29:39 -07:00
Michael Jumper
2ec7e48ca9
GUACAMOLE-232: Track whether keys were pressed implicitly. Automatically release all keys if only implicitly pressed keys remain.
2018-10-03 10:29:39 -07:00
Michael Jumper
6f0787f0c1
GUACAMOLE-232: Reset tracking of recent keysym after key is released.
2018-10-02 22:19:40 -07:00
Michael Jumper
8c096778bc
GUACAMOLE-232: Fall back to using recent keysym only after failing to determine released key by keycode.
2018-10-02 22:19:15 -07:00
Michael Jumper
035813ff0b
GUACAMOLE-232: Take best guess of key being pressed/released into account before assuming modifier states need to be resynced.
2018-10-02 22:18:17 -07:00
Michael Jumper
cdc5dec2c9
GUACAMOLE-517: Correct keysym definition of "Print Screen" key.
2018-03-06 12:16:18 -08:00
Michael Jumper
5db2e3cae7
GUACAMOLE-161: Merge changes adding Caps Lock to the do-not-auto-repeat list.
2018-03-03 12:27:01 -08:00
Frode Langelo
a28c81c001
GUACAMOLE-161: Add CapsLock to the no_repeat key list.
2018-02-01 16:43:15 +00:00
Michael Jumper
b6b7a37000
GUACAMOLE-161: Do not rely on receiving keyup for Caps Lock on Mac (only keydown is dispatched).
2018-01-17 18:54:19 -08:00
Michael Jumper
a49bfadebf
GUACAMOLE-352: Refactor Guacamole.Keyboard.InputSink to Guacamole.InputSink.
2018-01-16 10:20:43 -08:00
Michael Jumper
b61f12d69d
GUACAMOLE-352: Remove margin and padding from input sink.
2018-01-16 10:20:43 -08:00
Michael Jumper
4b93347617
GUACAMOLE-352: Hide input sink field in bottom-left corner for sake of input method dialogs.
2018-01-16 10:20:43 -08:00
Michael Jumper
376c4380d5
GUACAMOLE-352: Monitor input and composition events to keep input sink contents clear.
2018-01-16 10:20:43 -08:00
Michael Jumper
802fec9bfd
GUACAMOLE-352: Handle input/composition events while bubbling.
2018-01-16 10:20:43 -08:00
Michael Jumper
9f6b2fad37
GUACAMOLE-352: Additionally click() while attempting to refocus the input sink field. Do not rely on autofocus, which may result in the field being partly focused (outlined as focused) but not receiving any actual text input.
2018-01-16 10:20:42 -08:00
Michael Jumper
e5e01beb60
GUACAMOLE-352: Ignore other input fields if they are invisible.
2018-01-16 10:20:42 -08:00
Michael Jumper
7b29f7b082
GUACAMOLE-352: Do not clear InputSink field upon "input" event (may be fired after a partial composition).
2018-01-16 10:20:42 -08:00
Michael Jumper
5136b1cf8e
GUACAMOLE-352: Clarify that Guacamole.Keyboard can be given an Element or a Document.
2018-01-16 10:20:42 -08:00
Michael Jumper
2d26d24dda
GUACAMOLE-352: Allow additional elements to be added to a single Guacamole.Keyboard.
2018-01-16 10:20:41 -08:00
Michael Jumper
05822907b4
GUACAMOLE-352: Refocus InputSink through key events rather than clicks.
2018-01-16 09:50:54 -08:00
Michael Jumper
f9a639d201
GUACAMOLE-352: Add Guacamole.Keyboard.InputSink object to serve as a reliable default destination for input events.
2018-01-16 09:50:54 -08:00
Michael Jumper
3d6a3aaa2a
GUACAMOLE-352: Rely on isComposing property of InputEvent to determine whether the event should be ignored.
2018-01-16 09:50:54 -08:00
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