Skip to content

Releases: Xtr126/XtMapper

v2.0.1

19 Sep 18:39
Compare
Choose a tag to compare

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

08 Aug 03:56
c89ae51
Compare
Choose a tag to compare

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

v1.4.1

03 Apr 17:37
Compare
Choose a tag to compare

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

06 Mar 12:18
Compare
Choose a tag to compare
  • 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 with ABS_X and ABS_Y axes to move Android pointer arrow.
    Earlier the app used APPLICATION_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

22 Jan 06:30
2e7ca1b
Compare
Choose a tag to compare

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

30 Dec 11:00
Compare
Choose a tag to compare

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

28 Oct 17:42
Compare
Choose a tag to compare
  • Refactor in server and client
  • Now it works rootless, using Android Debug Bridge (ADB)
  • Auto select input device when not found.
  • Added settings to let user adjust mouse sensitivity and Dpad movement Radius.
  • Implemented per game keymap profiles.

Initial release

21 Oct 03:54
Compare
Choose a tag to compare
v1

Implement multi-threading in server (mouse_read.c) and move getevent …