MCPcopy Index your code
hub / github.com/Shyri/TouchMapper

github.com/Shyri/TouchMapper @1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0 ↗ · + Follow
94 symbols 204 edges 23 files 20 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

TouchMapper

TouchMapper is an Android App lets you map gamepad input to touch events in the screen without needing to root the device. It is inteded to be used in Android TV where you don't have a touch screen and you might want to play games that only support touch events as input. It's licensed under the terms of the GNU General Public License, version 3 (GPLv3).

Other reason to use it in Android TV is because in order to make it work without rooting the device you'll need to keep a computer connected to the device through ADB during the time you are using the touch mapper, and the most comfortable way to do that would be to run ADB through WIFI otherwise you'll need to keep an usb connected to the device at all times.

In order to make it a bit easier, a desktop application is available that automates all process needed to run the adb commands. You can find it here: Touch Mapper Launcher

Below you can find all available information for regular users and developers that might want to play with the code:

User Guide

Developer Guide

This software is completely experimental, meaning you shouldn't be surprised if it suddenly stops working and you need to restart it or whatever other issues that might show up.

Core symbols most depended-on inside this repo

simulateTouch
called by 12
app/src/main/java/es/shyri/touchmapper/output/TouchSimulator.java
l
called by 11
app/src/main/java/es/shyri/touchmapper/log/Log.java
getCenteredAxis
called by 6
app/src/main/java/es/shyri/touchmapper/output/touch/TouchMapping.java
registerSubtype
called by 5
app/src/main/java/es/shyri/touchmapper/output/config/RuntimeTypeAdapterFactory.java
parseConfig
called by 3
app/src/main/java/es/shyri/touchmapper/output/config/ConfigParser.java
getPointerIndex
called by 2
app/src/main/java/es/shyri/touchmapper/output/TouchSimulator.java
getUnmaskedAction
called by 2
app/src/main/java/es/shyri/touchmapper/output/TouchSimulator.java
processEvent
called by 2
app/src/main/java/es/shyri/touchmapper/output/TouchMapper.java

Shape

Method 68
Class 26

Languages

Java100%

Modules by API surface

app/src/main/java/es/shyri/touchmapper/output/config/RuntimeTypeAdapterFactory.java7 symbols
app/src/main/java/es/shyri/touchmapper/output/TouchSimulator.java7 symbols
app/src/main/java/es/shyri/touchmapper/output/InputReceiver.java7 symbols
app/src/main/java/es/shyri/touchmapper/input/InputSender.java7 symbols
app/src/main/java/es/shyri/touchmapper/input/GameInputMethodService.java7 symbols
app/src/main/java/es/shyri/touchmapper/ControllerTestActivity.java7 symbols
app/src/main/java/es/shyri/touchmapper/output/touch/TouchMapping.java5 symbols
app/src/main/java/es/shyri/touchmapper/output/Server.java5 symbols
app/src/main/java/es/shyri/touchmapper/Main.java5 symbols
app/src/main/java/es/shyri/touchmapper/output/config/ConfigParser.java4 symbols
app/src/main/java/es/shyri/touchmapper/MainActivity.java4 symbols
app/src/main/java/es/shyri/touchmapper/EventInput.java4 symbols

For agents

$ claude mcp add TouchMapper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact