Releases: Xtr126/XtMapper
v2.0.1
Top level activity detection
XtMapper will periodically detect what apps are running currently and automatically switch keymapping accordingly.
- Multiple profiles for one app are also supported.
- User will be prompted to select profile when launching app if there are multiple profiles.
- Now the keymapper can also be disabled for other apps, enabling it automatically only when specific apps are running.
Other changes:
- Fixed a crash when starting service
- Fixed a crash when kernelSU is not installed
- Fixed a rare freezing issue for some occasions
- Added experimental wayland client support
Full Changelog: v2.0...v2.0.1
v2.0
XtMapper v2
Thanks to everyone who provided feedback to improve the project.
What's new
- Rewrite many parts of the keymapper to do processing in the server #39
This improves performance and latency by reducing usage of expensive binder IPC calls but introduces some other issues.
They will be fixed in another release.
- Automatically pause/resume keymapping on launching editor 70cd485
- Request notification permission for API 33 by @ilhan-athn7 in #31
- Allow precise adjustment of swipe delay values for dpad and swipe keys #14 #17
- Show an alert dialog to user when root access is not found. This dialog will prompt user to grant root from kernelSU app.
- Added themed app icon support (monochromatic) for Android 13/Material you.
- Adjust x y coordinates to center of key #29
- Hold key to activate shooting mode #19
- Input device selector dialog has been removed and devices will be auto detected.
- Shortcut key to pause or resume keymapping has been added and can be set from settings #18 .
- XtMapper can be added as an input method in Android system settings #18.
Set it to be used as virtual keyboard so that XtMapper can detect text input activity and pause/resume keymapping accordingly.
Bugfixes
- An issue where mouse right click would unexpectedly interfere with shooting mode #11 #15
- Mouse aim settings dialog loads saved values.
Updated dependencies
- build(deps): bump com.android.tools.build:gradle from 7.3.1 to 8.0.0 by @dependabot in #21
- build(deps): bump com.android.tools.build:gradle from 8.0.0 to 8.0.1 by @dependabot in #22
- build(deps): bump com.android.tools.build:gradle from 8.0.1 to 8.0.2 by @dependabot in #24
- build(deps): bump com.google.android.material:material from 1.8.0 to 1.9.0 by @dependabot in #25
- build(deps): bump androidx.appcompat to 1.5.0
- build(deps): bump androidx.appcompat:appcompat from 1.5.0 to 1.6.1 by @dependabot in #28
- build(deps): bump ndkVersion to 25.2.9519653
New Contributors
- @ilhan-athn7 made their first contribution in #31
v1.4.1
This release fixes some minor issues in v1.4
- Fixed an issue where the keymap editor would hang after removing a key and saving keymap
- Improved light mode appearance
- Fixed package name associated with profile unexpectedly changing after editing keymap
- Correct path of xtMapper.sh
- Added swipe keys feature #8
- Allow remapping right mouse click #11
- Now you can adjust swipe gesture delay for dpad and swipe keys from settings #10 #14
- Resize dpad from center and in fixed ratio #14
- Auto fill profile name when creating new profile
XtMapper v1.4
-
Use system pointer instead of using an overlay
This requires root access and uinput support to function. It emulates a virtual tablet device using uinput withABS_X
andABS_Y
axes to move Android pointer arrow.
Earlier the app usedAPPLICATION_OVERLAY
to display pointer, which has some drawbacks like not being able to show pointer on top of surfaces like system UI navigation bar, status bar and quick settings panel.
This will fix those issues, it can show pointer over system UI areas. If it can't use uinput for some reason, it will automatically fallback to using app overlay. -
Improved mouse smooth scrolling
Now scrolling with mouse is more natural and smoother. Scrolling speed accelerates with spinning speed of mouse wheel, scrolling has a little momentum. -
Redesigned profiles function #4
Instead of showing a grid of apps and switching between them, now it was redesigned so that user can add profiles with a name to a list which will be displayed. Individual profiles can be deleted, added or modified. Launch app when activating profile automatically. -
Added keyboard shortcut to switch profiles while active
Now all keyboard shortcut also explicitly require a modifier key (Ctrl or Alt) to activate.
Separated settings into 3 sections. -
Use mouse wheel to zoom in/out with simulated two fingers
From settings you can toggle between Ctrl + Click-drag mouse or Ctrl + Wheel for two finger gesture. -
Now you can map CTRL, ALT and other keys in the keymap editor #3
This will work only when the keymapper is activated and remote service is running.
It's also possible to resize dpad by dragging it now. -
Fixed some freezing issues
-
Fixed rare crash on first start
-
Support remapping key to activate mouse aim #7
-
Experimental workaround for storage issue on some Android ROMs #6
-
Improved appearance of app theme
Full Changelog: v1.3...v1.4
XtMapper v1.3
Whats new
- Injecting mouse scroll events
- Smooth pixel by pixel scrolling with mouse wheel when service running
- Change scroll speed of mouse
- Hold down ctrl key and click-drag mouse to simulate pinch-to-zoom gesture with two fingers
- Reduced debug info displaying in UI (mouse events)
- Use AOSP pointer_arrow.png for overlay
- Added in-app help message
- Keyboard shortcuts for stop service / launching editor
Moving to Android Binder/AIDL interface instead of sockets for IPC
- Improved stability
- Improved performance
- Low latency
- Less lines of code, less bugs
Bug fixes
- Keymap will refresh automatically now when editing keymap while service is running
- Mouse sensitivity changes apply instantly
- Improvements in mouse aim (shooting mode)
Full Changelog: v1.2...v1.3
XtMapper v1.2
What's new
- New revamped user interface that can adapt better to large screens
- Aim with mouse (Shooting mode)
- Added new app icon and vector assets
Improvements in keymap editor
- Now you can launch editor by clicking on the notification
- Fixed keyboard input handling while in editor
Other changes
- Fixed some memory leaks (possibly)
- Hook into system getevent for reading keyboard inputs instead of using a patched getevent binary
- Use a foreground service for the keymapper engine (TouchPointer) so it will keep running when activity is killed
- Server (Input.java) can run indefinitely now without restarting
- Reduce amount of processes in total by using exec in some places
Full Changelog: https://github.com/Xtr126/XtMapper/commits/v1.2
v1.1 beta
Initial release
v1 Implement multi-threading in server (mouse_read.c) and move getevent …