Commit graph

324 commits

Author SHA1 Message Date
Gaurav Ujjwal
08117b45f9 Simplify 'Mouse passthrough' summary 2022-01-09 15:48:51 +05:30
Gaurav Ujjwal
7fd428b6d5 Update app description 2022-01-09 12:43:08 +05:30
Gaurav Ujjwal
1d11afb829 FrameState: Optimize base scale for portrait-mode framebuffers
Until now, base scale was optimized only for landscape-mode framebuffers.
2022-01-08 23:41:14 +05:30
Gaurav Ujjwal
9af1e88969
Improve English strings (#44)
- Consistently use 'Sentence case' for strings
- Remove unnecessary punctuation
- Simplify phrases
2022-01-08 12:15:13 +05:30
Gaurav Ujjwal
fd2314f004 Update Portuguese translations
Suggested by: João Paulo
2022-01-03 08:10:08 +05:30
Gaurav Ujjwal
4382b6b46d Extract hard-coded string to resources 2022-01-03 07:52:40 +05:30
Gaurav Ujjwal
c94559f620 Drop experimental status from 2 finger tap gesture 2022-01-02 22:00:48 +05:30
Eshagh Shahedany
9b8d41fc9d Translated using Weblate (Persian) 2022-01-01 18:29:01 +05:30
J. Lavoie
cd285ca597 Translated using Weblate (French)
Added new language using Weblate (French)

Translate-URL: https://hosted.weblate.org/projects/avnc/app/fr/
2022-01-01 18:29:01 +05:30
Gaurav Ujjwal
1976d4d89a Don't consume key events if VncClient is not connected 2021-12-31 15:40:03 +05:30
Gaurav Ujjwal
8bca42afcf Lint: Remove unused parameter 2021-12-31 15:35:13 +05:30
Gaurav Ujjwal
c5b4b2b720 Capture meta key events on Samsung DeX
We can now receive Meta key events, and other shortcuts like Alt+Tab.
Standard AOSP has no way to capture these, but it seems Samsung DeX
has a (secret?) method, which allows apps to request these events.

Fixes #37
2021-12-30 16:31:06 +05:30
Gaurav Ujjwal
c1879004ff
Add Weblate link in Readme 2021-12-29 23:02:58 +05:30
Eshagh
8915809875
Add persian language (#34)
Co-authored-by: eshagh79 <eshagh094@gmail.com>
2021-12-29 20:50:24 +05:30
Gaurav Ujjwal
bbd1c294d9
Cleanup redundant space in string resource
[skip ci]
2021-12-29 20:42:16 +05:30
Gaurav Ujjwal
7b0ecb269b Dispatcher Refactoring: Simplify action selection 2021-12-29 13:02:07 +05:30
Gaurav Ujjwal
91a3fab1bd Dispatcher Refactoring: Use functional interface for swipe actions
During a recent profiling session, I noticed that we were generating a lot of
`Float` objects during event processing. This was due the way Kotlin implements
lambda return type, as implementation of generic `Function` interface. This
causes auto-boxing of dx & dy parameters for swipe actions.

Now we use an explicit functional interface for efficient code generation.
2021-12-29 13:02:07 +05:30
Gaurav Ujjwal
a403fe9ec7 Dispatcher Refactoring: De-lazify action config
Delegating to lazy properties has no benefit here. It was originally intended to
speedup Dispatcher construction, by reducing allocation & avoiding prefs lookup.
But Lazy objects themselves have to be allocated, and we have to do an extra
indirection to retrieve actual values later. So, it was a pre-mature optimization,
entirely unnecessary here.
2021-12-29 13:02:07 +05:30
Rajasekaran Karunanithi
f855fce915
Translated using Weblate (Tamil)
Currently translated at 3.8% (6 of 154 strings)

Added translation using Weblate (Tamil)

Co-authored-by: Rajasekaran Karunanithi <rajasekaran86@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/avnc/app/ta/
Translation: AVNC/App
2021-12-29 04:53:03 +01:00
Allan Nordhøy
841c0f40e4
Translated using Weblate (Norwegian Bokmål)
Currently translated at 65.5% (101 of 154 strings)

Added translation using Weblate (Norwegian Bokmål)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/avnc/app/nb_NO/
Translation: AVNC/App
2021-12-29 04:53:02 +01:00
Gaurav Ujjwal
eec02d5b22 Release v1.5.0 2021-12-27 12:05:24 +05:30
Gaurav Ujjwal
7000f2756f Mark app name to be non-translatable 2021-12-27 11:48:28 +05:30
inkhorn
e289842903 Add Portuguese (BR) translation (#24) 2021-12-27 11:39:19 +05:30
Gaurav Ujjwal
8da0d5719c Refactor TouchHandler
- Re-organized code fragments for better readability & locality.
- Instead of having multiple gesture *End() functions, we now have a general
  solution to end gestures, by automatically releasing mouse buttons.
- Simplify 'Hover' event handling.
- Move FrameScroller to VncViewModel
2021-12-26 20:46:31 +05:30
Gaurav Ujjwal
46caf35a38 Add tests for TouchHandler 2021-12-24 15:38:34 +05:30
Henry H
5282ce6366 Add preference to hide Android system cursor
On some devices, the local and remote cursors are both visible,
resulting in a double cursor.
2021-12-18 08:33:10 +05:30
Henry H
0188996bc0 TouchHandler: Make onGenericMotionEvent handle stylus and mouse events
Previously, onGenericMotionEvent only passed events to handleMouseEvent.
Stylus hover events, however, also trigger onGenericMotionEvent, so it
needs to handle stylus events, too.
2021-12-17 06:34:28 +05:30
Gaurav Ujjwal
191d394304 Handle hover events generated by a Stylus 2021-12-16 21:45:10 +05:30
Gaurav Ujjwal
4e9a7b49c4 Release v1.4.0 2021-12-12 21:41:33 +05:30
Gaurav Ujjwal
9411ece2d3 Fix miscellaneous lint+grammar issues 2021-12-12 21:32:48 +05:30
Gaurav Ujjwal
892d01d658 Re-implement diacritic (accent) composition
New implementation has couple of benefits:
- Handles character key press while accent key is still down
- Better handling of intermixed character/accent key events
2021-12-11 20:26:53 +05:30
Gaurav Ujjwal
e8a54ca3fc Assert that matching key ups/downs are generated during KeyHandlerTest 2021-12-11 20:24:55 +05:30
Gaurav Ujjwal
772f32c3d7 Use ISO 8859-1 encoding for clipboard text exchange with server
Added some tests to make sure we handle text-encoding correctly.
2021-12-11 20:24:21 +05:30
Gaurav Ujjwal
9c6856de16 Implement experimental support for full immersive mode 2021-12-07 18:50:53 +05:30
Gaurav Ujjwal
af6313cb59 Update submodules
wolfSSL: 5.0.0
libjpeg-turbo: 2.1.2
2021-12-01 20:35:29 +05:30
Gaurav Ujjwal
f3b95a6f0d Improve numpad support
Now numpad keys are properly handled when NumLock is off.
2021-11-28 21:41:38 +05:30
Gaurav Ujjwal
0a2f5dae42 Add more KeyHandler tests 2021-11-28 20:54:33 +05:30
Gaurav Ujjwal
bbc518ff33 Properly handle keyboard shortcuts involving multiple meta keys
Github Issue #18
2021-11-28 20:53:58 +05:30
Gaurav Ujjwal
fd88752e9e Release v1.3.0 2021-11-22 17:00:09 +05:30
Gaurav Ujjwal
9b1614c5c2 Improve diacritics support + Add tests
Pressing space after an accent now properly generates the printing character.
2021-11-22 16:33:06 +05:30
thechosenreader
a8b7334262
Release virtual meta-keys on VncActivity stop
It reduces the chances of meta-keys being left in pressed state even after disconnecting. ( #16 )
2021-11-22 01:03:18 +05:30
Gaurav Ujjwal
7400a38c36 Allow mapping 'Back' key to 'Escape'
It provides a workaround for some devices where Escape key is hardwired
to produce Back key press. But we don't want to affect the Back button
in navigation Bar which is used used for disconnecting.

Github Issue: #12
2021-11-13 21:30:10 +05:30
Gaurav Ujjwal
479dfd167d Add diacritics (accent) support
This version works correctly with TightVNC server (Windows + Linux).
According to Vino's source code, it should also work with Vino, but actually doesn't.
2021-11-13 14:52:04 +05:30
Tuan Pham
e1b6ca1fa0
Map Right Alt/Languae Switch keys to SUPER key
Co-authored-by: Gaurav Ujjwal <gujjwal00@gmail.com>
2021-11-04 20:40:42 +05:30
Gaurav Ujjwal
24ec0e0b41 Release v1.2.0 2021-10-31 14:49:46 +05:30
Gaurav Ujjwal
03c413d85f Forward activity start/stop hints to FrameView 2021-10-31 12:31:43 +05:30
Gaurav Ujjwal
b1e3b2fc6f Use LivePref for theme/night-mode preference 2021-10-31 12:26:49 +05:30
Gaurav Ujjwal
a7d939d953 Implement multi-finger-tap detection
It is experimental for now, and only 2-finger tap is exposed to user.
2021-10-31 12:24:11 +05:30
Gaurav Ujjwal
16dfccc93b Add initial support for Stylus 2021-10-31 07:43:14 +05:30
Gaurav Ujjwal
b8765102f3 Constrain test for touchpad gestures
Events from an actual mouse should not be passed to GestureDetector
2021-10-31 02:28:20 +05:30