Pierre Ossman
0a865e15ff
Remove character substitution
...
We can handle any Unicode codepoint now, so stop replacing symbols.
2017-03-24 11:35:36 +01:00
Pierre Ossman
278a5e7fbd
Simplify keysymdef.js
...
Some Unicode to Keysym mappings can be computed and can therefore
be left out of the huge lookup table.
2017-03-24 11:31:38 +01:00
Pierre Ossman
041568bd31
Clean up keysymdef
2017-03-24 11:26:02 +01:00
Pierre Ossman
524d67f283
Remove keysym names from keysymdef.js
...
They were incomplete and turned off in most cases so they served
little use besides adding complexity.
2017-03-24 11:16:53 +01:00
Solly Ross
6d6f0db0da
Refactor ES6 module structure/split up Util
...
This commit restructures many of the ES6 modules, splitting them
up to actual export multiple functions instead of a single object.
It also splits up Util into multiple sub-modules, to make it easier
to maintain.
Finally, localisation is renamed to localization.
2017-03-21 17:39:05 -04:00
Solly Ross
3ae0bb0968
Uncomment ES6 module syntax
...
This removes the special comment part of the ES6 module syntax,
opting to enable ES6 module syntax by default.
It also appends `.js` to all import paths to better support in-browser
loading.
2017-02-26 16:30:37 -05:00
Samuel Mannehed
280676c7e9
Properly encapsulate the scale in Display
...
Other parts of the code shouldn't have to care about this. Let Display
convert between canvas coordinates and framebuffer coordinates.
2017-02-16 14:00:39 +01:00
Samuel Mannehed
10d1ecc118
Remove return value from event handlers
...
It's not used in modern event handlers.
2017-02-16 13:59:34 +01:00
Samuel Mannehed
a0e3ec0ae6
Stop using window.event
...
It's an old propriatary IE thing that isn't necessary.
2017-02-16 13:59:34 +01:00
Samuel Mannehed
af1b2ae1e5
Remove Util.getEventPosition()
...
It mostly dealt with scrolling which we don't use. It also made mistakes
in some cases. Remove it and compute the coordinates directly in the
calling code.
2017-02-16 13:59:34 +01:00
Samuel Mannehed
b69dda9b19
Clean up some mouse workarounds
...
Adds comments that clarifies why they are needed. Also narrows the
handler for contextmenu a bit.
2017-02-16 13:59:34 +01:00
Pierre Ossman
6ffdfd3aa7
Improve check for when to ignore mouse events
...
The browser tells us which element was under the cursor, so we don't
have to calculate it ourselves.
2017-02-09 16:02:58 +01:00
Pierre Ossman
86d15a4929
Use setCapture() polyfill everywhere
...
This makes sure we get consistent behaviour across all browsers.
2017-02-09 15:51:22 +01:00
Samuel Mannehed
b85a13de69
Merge pull request #689 from ossman/keysym
...
Don't send Unicode as keysym
2016-11-10 09:36:43 +01:00
Pierre Ossman
ebb9086ae8
Support standard mouse wheel event
...
Mouse wheel event handling has now been standardised and has broad
support. Use this event rather than the older, non-standard ones.
At the same time fix up support for horisontal mouse wheel events.
2016-10-21 16:04:23 +02:00
Asad Saeed
7c1b2bac90
Add Meta Key mapping to xtscancodes.js
...
OSLeft/OSRight have been renamed to MetaLeft/MetaRight respectively.
This change will allow the Super/Windows key to be used under the qemu
rfb extension under Chrome and updated browsers.
https://github.com/w3c/uievents-code/issues/7
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code
2016-10-20 01:13:32 +02:00
zarmhast
4b20f2364c
Fix for touchscreen devices that also have a mouse.
2016-10-20 00:44:25 +02:00
Pierre Ossman
115eedf69c
Use Unicode keysym range as fallback
...
Not all Unicode codepoints have an equivalent named Keysym. But
there is a range in the Keysym namespace that can be used to map
any codepoint to.
2016-10-15 14:58:55 +02:00
samhed
bea2b3fdfc
New way of detecting touch
...
Moves detection to Util and fixes so that touch is properly detected on
MS Surface and touch emulation in Chrome.
2016-10-14 02:41:06 +02:00
Solly Ross
bd5340c7ee
Move input-related files into core/input
...
This commit moves all the input-related files from `core/`
to `core/input/`, and renames a couple as relevant
(input.js --> input/devices.js, keyboard.js --> input/util.js).
2016-09-16 15:49:52 -04:00