• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[APP][2.3+][ROOT] RepetiTouch for Android - Record touch events and replay them!

Search This thread

cygery

Inactive Recognized Developer
May 6, 2013
1,256
1,480
cygery.com
i've tried the free ver to see how well it records/plays back and worked fine on my phone but i have 2 Qs.

1 - can the macro be exported into a standard tasker profile using variables etc? (i assume not).
2 - is there a trial for the tasker plugin? even an hour or so would be enough. i ask since i want to use tasker to launch the app at a specific event, then have this run (because going through 2 dozen screens with tasker is doable put a serious PITA), then have autoinput pull data from the screen loaded.

if not, could it be done? i know joao (autoapps) trials make you sign into your google account before they start so you can't really mess around and keep using it.

1. Please be more specific. How does a recording relate to a Tasker profile? The action plugin supports different actions, e.g., "start replay" with options (e.g., to specify a file to replay). These options have to be set manually, though. The plugin has no access to Tasker variables. I don't think it's possible to implement this.
2. No, there's no free trial available or planned for the pro version.
 

tommo123

Senior Member
May 28, 2010
1,266
31
Liverpool
i was thinking in sense of the actions that get recorded in your app get converted (if that's the right word) into a tasker sequence. as in open this app, wait xxx ms, click x,y, wait etc.

no worries about the other thing then.
 

evilperro

Senior Member
May 9, 2013
84
3
This might be possible using third-party tools. There are two things to consider: 1) The display incl. the touchscreen, 2) The backlight.
Generally, RepetiTouch (or maybe Android in general) requires the display/touchscreen to be on to receive input. On some devices, RepetiTouch can switch the backlight off while replaying (set the brightness to 0% in the settings). So if you're able to switch the screen on (might be possible via Tasker) and disable the backlight (either via RepetiTouch or a third-party app), this should work. You might also have to deal with an active screenlock.
PS: Regarding the "series of touches": I don't know an ideal description yet but usually call it "record" or "macro" :)

Ok I'll play a bit with it. The idea was mostly to be able to save power by not needing the screen on, but i guess it uses less power when dimmed a lot :)

//M

Sendt fra min Xperia V med Tapatalk2

Have you figured out a way? I'm using repetitouch to rate songs in PowerAmp (there's no intent for rating). Leaving the screen on in pocket is not, however, a very fortunate situation...
 

kashyapawan

Senior Member
Mar 20, 2015
69
3
Can this simulate long tap
I am recording and replaying but nothing happening on my device

---------- Post added at 06:57 PM ---------- Previous post was at 06:51 PM ----------

Anyone please upload saved file of single long tap in the middle of screen
Not working on my device
I just want to simulate long tap through tasker because I didn't find any shell command to simulate long tap.
 

cygery

Inactive Recognized Developer
May 6, 2013
1,256
1,480
cygery.com
Can this simulate long tap
I am recording and replaying but nothing happening on my device

---------- Post added at 06:57 PM ---------- Previous post was at 06:51 PM ----------

Anyone please upload saved file of single long tap in the middle of screen
Not working on my device
I just want to simulate long tap through tasker because I didn't find any shell command to simulate long tap.

Try recording/replaying and send me a report via the settings and fill out the email body there.
 

wicked1067

Senior Member
Oct 18, 2010
58
18
Been reading through here looking for an answer. First off, this app so far is GREAT, however, I really need a way to tweak the actual code thats being recorded. My fingers are big and I miss so me spots when recording lol. I know the exact coordinates from using macrotouch, but yours plays better then that app. So, what can I use to open and tweak the saved recordings?
 

cygery

Inactive Recognized Developer
May 6, 2013
1,256
1,480
cygery.com
Been reading through here looking for an answer. First off, this app so far is GREAT, however, I really need a way to tweak the actual code thats being recorded. My fingers are big and I miss so me spots when recording lol. I know the exact coordinates from using macrotouch, but yours plays better then that app. So, what can I use to open and tweak the saved recordings?
RepetiTouch records and replays raw input events which can't be edited simply by hand.
 

NinthGhost

Member
Oct 10, 2014
23
1
Hi. I am using a sony Z2 on lolipop and the free version is working. Is there a function in pro that can start replay with a hardware button like volume down/up ?
Also will the the screen dim function work with my device? edit: I also checked out your backlight off app, it seems to turn the backlight off but the touch replay does not play after the screen is off.
 
Last edited:

cygery

Inactive Recognized Developer
May 6, 2013
1,256
1,480
cygery.com
Hi. I am using a sony Z2 on lolipop and the free version is working. Is there a function in pro that can start replay with a hardware button like volume down/up ?
Also will the the screen dim function work with my device? edit: I also checked out your backlight off app, it seems to turn the backlight off but the touch replay does not play after the screen is off.
Might be possible via, e.g., Tasker, but such functionality isn't build in and not planned.
Dunno if the screen backlight off functionality works on your device.
My screen backlight off app blocks touch input (otherwise it couldn't detect the tap/double tap to switch on gesture).
 
  • Like
Reactions: NinthGhost

Psyco-Man

Senior Member
Nov 25, 2010
85
6
Hi there

I looked long for this great tool. And free version works fine for me.
Is there a import Export Funktion to transfer my recorded file to a other device?
Transfer from Samsung Note 2 to Samsung s4 is Note working if i drag and drop it. File loads but when i start there is an error shown.
Would be fine if you can answer if using pro Version will work.
Thx and once again... Super app
 

cygery

Inactive Recognized Developer
May 6, 2013
1,256
1,480
cygery.com
Hi there

I looked long for this great tool. And free version works fine for me.
Is there a import Export Funktion to transfer my recorded file to a other device?
Transfer from Samsung Note 2 to Samsung s4 is Note working if i drag and drop it. File loads but when i start there is an error shown.
Would be fine if you can answer if using pro Version will work.
Thx and once again... Super app

I've uploaded a new version of RepetiTouch Pro (v1.5.0.0) to Google Play, it should be available soon.
Besides a few smaller fixes and improvements this app adds experimental support to replay recordings from a different device. Currently, only touchscreen input is supported. Additionally, the recordings must be done with this (or a future) version of RepetiTouch Pro. Please use this feature (available via the advanced settings) with caution and report your results. So far, I've tested it on a few Nexus devices, however, I don't know if and how well it works on other devices.

The option is called "Use virtual input device for replay". Additionally, "Allow user input during replay" needs to be on. Use at your own risk, those are experimental features.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 49
    Hi,

    I've developed RepetiTouch, an app which enables touchscreen input recording and replaying directly on the device. It's available on Google Play. I've tested it on a Nexus 7 and Samsung Galaxy Y but it should work on every rooted device with Android 2.3 or later. I'd be very thankful for any test reports, positive or negative.

    Video review (of the pro version) by @wwjoshdew: http://www.youtube.com/watch?v=Vzb-81i-L1Q

    General information/Changelog: this post (http://forum.xda-developers.com/showpost.php?p=41210301&postcount=1)
    List of (un)supported devices: http://forum.xda-developers.com/showpost.php?p=41210168&postcount=2
    Common errors/FAQ: http://forum.xda-developers.com/showpost.php?p=41210301&postcount=3

    Betas:
    RepetiTouch Pro Beta : https://play.google.com/apps/testing/com.cygery.repetitouch.pro

    Features:
    - system-wide panel with record/replay buttons
    - simple one-click record&replay
    - simple loop replay (long click on the replay button to start)
    - save and load (incl. autosave/autoload last recording)
    - record all touchscreen input

    If you test this app, please give feedback so I can continue improving it. You can post here or send me an email ( [email protected] ). Thanks!

    Cheers,

    cygery

    Screenshots

    Pro version:

    1_small.png

    (Popup Menu, only on Android 3.0 or later)

    2_small.png

    (Save file dialog)

    3_small.png

    (Configuration Activity for automation tool support)
    10
    Please note: There are no recent reports of unsuported "normal" devices (i.e., real devices with a touchscreen). Currently, Android TV sticks/boxes, emulators, etc. might be supported by the pro version but generally not by the free version. Thus, even if your device is not listed here it should be supported by RepetiTouch. If not, please contact me.

    Current device support: (might change in future versions)
    The version number in parentheses after each device refers to the latest release (version) of RepetiTouch for which the device was reported as (un)supported. Note: If a device is listed as supported for a certain release it should also be supported on all newer releases. For the unsupported devices where the version in parentheses is older than the latest release: If you test RepetiTouch on one of them, please let me know if it works or not so I can keep the list up to date.

    Known supported devices:
    • Goclever Terra 70L tab
    • HI-LEVEL HLV-T801 - Android 4.1.1 (v0.0.1-free)
    • HTC MyTouch 4G (Glacier) - ViperTouch 2.1.3 - Android 4.0.4 (v0.0.2-free)
    • HTC One
    • LG Optimus G e970 (v1.0.20-pro)
    • Motorola Atrix MB860 o2 (Germany version) (v0.0.3-free)
    • Motorola Droid 4 - CM 10.1 - Android 4.2.2 (v0.0.4-free)
    • Motorola Moto E (2nd Gen.)
    • Motorola Moto X - Android 4.4
    • Nexus 4 - Android 4.2.2 (v0.0.3-free)
    • Nexus 7 WiFi - Stock - Android 4.2.2 (v0.0.7-free)
    • Nexus 7 WiFi - Stock - Android 4.3 (v0.0.11-free)
    • Samsung Galaxy Ace I - Android 2.3 (v0.0.3-free)
    • Samsung Galaxy Exhibit 4g (v0.0.3-free)
    • Samsung Galaxy Mega 6.3 LTE - Android 4.2.2
    • Samsung Galaxy Note SHV-E160S - Android 4.1.2 (v0.0.5-free)
    • Samsung Galaxy S2 (GT-I9100) - Android 4.0.3 (v0.0.1-free)
    • Samsung Galaxy S3 (SGH-i747M) - Android 4.1.1 (v0.0.1-free)
    • Samsung Galaxy S3 (I9300) - Android 4.1.2 (v0.0.1-free)
    • Samsung Galaxy S3 (SPH-L710) (v0.0.1-free)
    • Samsung Galaxy S4 (v0.0.3-free)
    • Samsung Galaxy Y - Android 2.3 (v0.0.11-free)
    • Sony Ericsson x10 Mini Pro (U20i) - Official Multi-Touch Firmware v2.3.5 (v1.0.18-pro,v1.0.18-free)
    • Sony Xperia P (v0.0.4-free)
    • Sony Xperia Z C6603 - Stock - Android 4.2.2 (v0.0.4-free)

    Known unsupported devices:
    • For RepetiTouch Free: devices without a (real) touchscreen, e.g., TV boxes/sticks, emulators
    • HTC Rezound - CyanogenMod 10.1 - Android 4.2.2 (v0.0.1-free)
    • Samsung Galaxy Exhibit 4g (v0.0.1-free)
    • HTC MyTouch 4G (Glacier) - ViperTouch 2.1.3 - Android 4.0.4 (v0.0.1-free)
    • Sony Ericsson Xperia mini pro - Stock ROM - Android 4.0 (v0.0.1-free)
    • Sony Xperia P (v0.0.3-free)
    • Samsung GT-S5660 - CyanogenMod - Android 2.3.7 (v0.0.5-free)

    If you tested this app, please report whether it worked and include your device information.
    6
    Common errors:

    Message: "No usable input event file found"
    Meaning: The app uses Linux input event files (/dev/input/event1 etc.) to record and replay touch events. There're two possible reasons for this error:
    1. There is no input event file for your touchscreen
    2. Your touchscreen's driver is currently unsupported
    Next steps: Find out the reason:

    1. Open a su shell on your device (preferably using ADB)
    2. Run "getevent -lp". This command will list your device's input event files and their properties, e.g., name and reported axes. Here's an example of how the output looks like on my Nexus 7:
      Code:
      [email protected]:/ # getevent -lp
      add device 1: /dev/input/event1
        name:     "lid_input"
        events:
          SW  (0005): SW_LID
        input props:
          
      add device 2: /dev/input/event0
        name:     "elan-touchscreen"
        events:
          ABS (0003): ABS_MT_SLOT           : value 0, min 0, max 9, fuzz 0, flat 0, resolution 0
                      ABS_MT_TOUCH_MAJOR    : value 0, min 0, max 31, fuzz 0, flat 0, resolution 0
                      ABS_MT_POSITION_X     : value 0, min 0, max 1279, fuzz 0, flat 0, resolution 0
                      ABS_MT_POSITION_Y     : value 0, min 0, max 2111, fuzz 0, flat 0, resolution 0
                      ABS_MT_TRACKING_ID    : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0
                      ABS_MT_PRESSURE       : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
        input props:
          
      add device 3: /dev/input/event2
        name:     "gpio-keys"
        events:
          KEY (0001): KEY_VOLUMEDOWN        KEY_VOLUMEUP          KEY_POWER
        input props:
          
      [email protected]:/ #
      The touchscreen driver's input device is easily identified as /dev/input/event0 using the provided name "elan-touchscreen". Other touchscreen drivers might report a name with, e.g., "touch" or "ts" in it.
      Maybe there're drivers which use the hardware chip's number as the name. In this case, the correct input event file might be identified using the reported axes. In case of my touchscreen driver:
      ABS_MT_SLOT, ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X, ABS_MT_POSITION_Y, ABS_MT_TRACKING_ID, ABS_MT_PRESSURE
      Most important are the two position axes. If, on your device, there is no input device reported with these two axes, your device is not supported and won't be supported. However, I'm not aware of any such case.
      If your device is currently unsupported, please post or PM me the output of this command and the model of your device.
    3. If the last command reported a touchscreen device (or you are not sure), run this command: "getevent -lt". This will collect the data reported by your input devices. If, using step 2, you were able to identify your touchscreen input device, you can add a parameter to this command to restrict the data collection to the touchscreen, e.g., "getevent -lt /dev/input/event0" if your touchscreen driver uses /dev/input/event0.
      Now, please perform a small test:
      1. Touch and hold one finger
      2. Touch and hold a second finger somewhere else on the screen (important: don't release the first finger yet)
      3. Now release the first finger while still holding the second one
      4. Finally, release the second finger
      5. Stop the data collection by hitting CTRL-C
      This is an example of the resulting output on my Nexus 7:
      Code:
      [email protected]:/ # getevent -lt /dev/input/event0
      [  463618.645475] EV_ABS       ABS_MT_TRACKING_ID   0000cb15
      [  463618.645490] EV_ABS       ABS_MT_TOUCH_MAJOR   00000009
      [  463618.645495] EV_ABS       ABS_MT_PRESSURE      00000019
      [  463618.645500] EV_ABS       ABS_MT_POSITION_X    00000090
      [  463618.645505] EV_ABS       ABS_MT_POSITION_Y    0000037f
      [  463618.645510] EV_SYN       SYN_REPORT           00000000
      [  463618.799808] EV_ABS       ABS_MT_PRESSURE      00000067
      [  463618.799822] EV_ABS       ABS_MT_POSITION_X    0000008d
      [  463618.799827] EV_ABS       ABS_MT_POSITION_Y    00000384
      [  463618.799832] EV_SYN       SYN_REPORT           00000000
      [  463619.586880] EV_ABS       ABS_MT_PRESSURE      00000053
      [  463619.586893] EV_ABS       ABS_MT_SLOT          00000001
      [  463619.586895] EV_ABS       ABS_MT_TRACKING_ID   0000cb16
      [  463619.586900] EV_ABS       ABS_MT_TOUCH_MAJOR   00000006
      [  463619.586903] EV_ABS       ABS_MT_PRESSURE      00000009
      [  463619.586906] EV_ABS       ABS_MT_POSITION_X    000003bb
      [  463619.586909] EV_ABS       ABS_MT_POSITION_Y    0000038f
      [  463619.586913] EV_SYN       SYN_REPORT           00000000
      [  463619.632689] EV_ABS       ABS_MT_SLOT          00000000
      [  463619.632696] EV_ABS       ABS_MT_PRESSURE      00000042
      [  463619.632703] EV_ABS       ABS_MT_SLOT          00000001
      [  463619.632704] EV_ABS       ABS_MT_PRESSURE      0000001e
      [  463619.632706] EV_ABS       ABS_MT_POSITION_X    000003ba
      [  463619.632708] EV_ABS       ABS_MT_POSITION_Y    00000394
      [  463619.632710] EV_SYN       SYN_REPORT           00000000
      [  463620.087421] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.087432] EV_ABS       ABS_MT_PRESSURE      00000035
      [  463620.087439] EV_ABS       ABS_MT_POSITION_Y    0000037f
      [  463620.087453] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.087456] EV_ABS       ABS_MT_PRESSURE      00000025
      [  463620.087465] EV_SYN       SYN_REPORT           00000000
      [  463620.149054] EV_ABS       ABS_MT_POSITION_Y    00000399
      [  463620.149062] EV_SYN       SYN_REPORT           00000000
      [  463620.176665] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.176669] EV_ABS       ABS_MT_POSITION_Y    0000037a
      [  463620.176673] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.176674] EV_ABS       ABS_MT_PRESSURE      00000023
      [  463620.176677] EV_SYN       SYN_REPORT           00000000
      [  463620.217854] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.217858] EV_ABS       ABS_MT_TOUCH_MAJOR   0000000c
      [  463620.217860] EV_ABS       ABS_MT_PRESSURE      00000066
      [  463620.217865] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.217866] EV_ABS       ABS_MT_TOUCH_MAJOR   0000000c
      [  463620.217867] EV_ABS       ABS_MT_PRESSURE      0000005a
      [  463620.217869] EV_ABS       ABS_MT_POSITION_X    000003b8
      [  463620.217871] EV_ABS       ABS_MT_POSITION_Y    000003a0
      [  463620.217873] EV_SYN       SYN_REPORT           00000000
      [  463620.231921] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.231932] EV_ABS       ABS_MT_TOUCH_MAJOR   0000000f
      [  463620.231933] EV_ABS       ABS_MT_PRESSURE      0000008c
      [  463620.231940] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.231941] EV_ABS       ABS_MT_TOUCH_MAJOR   00000011
      [  463620.231942] EV_ABS       ABS_MT_PRESSURE      00000083
      [  463620.231945] EV_ABS       ABS_MT_POSITION_Y    000003a5
      [  463620.231946] EV_SYN       SYN_REPORT           00000000
      [  463620.245693] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.245698] EV_ABS       ABS_MT_TOUCH_MAJOR   00000011
      [  463620.245700] EV_ABS       ABS_MT_PRESSURE      000000a8
      [  463620.245702] EV_ABS       ABS_MT_POSITION_X    00000092
      [  463620.245704] EV_ABS       ABS_MT_POSITION_Y    00000379
      [  463620.245707] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.245708] EV_ABS       ABS_MT_TOUCH_MAJOR   00000015
      [  463620.245710] EV_ABS       ABS_MT_PRESSURE      000000a2
      [  463620.245713] EV_SYN       SYN_REPORT           00000000
      [  463620.268625] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.268629] EV_ABS       ABS_MT_TOUCH_MAJOR   00000013
      [  463620.268631] EV_ABS       ABS_MT_PRESSURE      000000a6
      [  463620.268636] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.268637] EV_ABS       ABS_MT_TOUCH_MAJOR   00000018
      [  463620.268639] EV_ABS       ABS_MT_PRESSURE      000000a0
      [  463620.268641] EV_ABS       ABS_MT_POSITION_Y    000003aa
      [  463620.268643] EV_SYN       SYN_REPORT           00000000
      [  463620.384078] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.384083] EV_ABS       ABS_MT_TOUCH_MAJOR   00000014
      [  463620.384085] EV_ABS       ABS_MT_PRESSURE      000000ae
      [  463620.384091] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.384093] EV_ABS       ABS_MT_TOUCH_MAJOR   0000001a
      [  463620.384094] EV_ABS       ABS_MT_PRESSURE      000000a7
      [  463620.384096] EV_ABS       ABS_MT_POSITION_X    000003b7
      [  463620.384098] EV_ABS       ABS_MT_POSITION_Y    000003b0
      [  463620.384100] EV_SYN       SYN_REPORT           00000000
      [  463620.602251] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.602269] EV_ABS       ABS_MT_TOUCH_MAJOR   00000012
      [  463620.602274] EV_ABS       ABS_MT_PRESSURE      00000041
      [  463620.602291] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.602293] EV_ABS       ABS_MT_TOUCH_MAJOR   00000015
      [  463620.602298] EV_ABS       ABS_MT_PRESSURE      00000066
      [  463620.602302] EV_ABS       ABS_MT_POSITION_X    000003b5
      [  463620.602306] EV_ABS       ABS_MT_POSITION_Y    000003a8
      [  463620.602312] EV_SYN       SYN_REPORT           00000000
      [  463620.635518] EV_ABS       ABS_MT_SLOT          00000000
      [  463620.635522] EV_ABS       ABS_MT_TRACKING_ID   ffffffff
      [  463620.635527] EV_ABS       ABS_MT_SLOT          00000001
      [  463620.635528] EV_ABS       ABS_MT_TOUCH_MAJOR   00000013
      [  463620.635530] EV_ABS       ABS_MT_PRESSURE      00000068
      [  463620.635532] EV_ABS       ABS_MT_POSITION_Y    000003a2
      [  463620.635534] EV_SYN       SYN_REPORT           00000000
      [  463620.671986] EV_ABS       ABS_MT_TOUCH_MAJOR   0000000f
      [  463620.671992] EV_ABS       ABS_MT_PRESSURE      00000069
      [  463620.671994] EV_ABS       ABS_MT_POSITION_Y    0000039d
      [  463620.671996] EV_SYN       SYN_REPORT           00000000
      [  463620.718141] EV_ABS       ABS_MT_TOUCH_MAJOR   0000000e
      [  463620.718146] EV_ABS       ABS_MT_PRESSURE      0000006b
      [  463620.718149] EV_ABS       ABS_MT_POSITION_Y    00000398
      [  463620.718151] EV_SYN       SYN_REPORT           00000000
      [  463621.197135] EV_ABS       ABS_MT_TRACKING_ID   ffffffff
      [  463621.197149] EV_SYN       SYN_REPORT           00000000
      ^C
      130|[email protected]:/ #
      Note: Especially on unsupported devices, the output will probably look much different from this.
      Please post or PM me this output. This will help me very much to add support for your device. Thanks!


    Message: "unknown error: 126" in logcat
    Next steps: Try to restart RepetiTouch.

    Message/Error: Something like "no root", "no input devices found" or any other error which previously didn't occur.
    Next steps: In your root app, try to delete/"forget" the settings for RepetiTouch (e.g., "allow always" or similar)

    If you get another error
    1. Check the FAQ here.
    2. Go to Settings -> Advanced.
    3. Click on "Send Report". This will open a pre-filled email addressed to me with an attached log.
    4. If you want to give any more details, please write them in the message body.
    5. Send the email.
    3
    One suggestion would be to add support for tasker...specifically to let tasker execute macro's previously recorded at certain times....the one example I can think of is recording a macro that turns on tethering.....and then tasker can trigger it.....enabling/disabling usb tethering is normally a pay function in the secure settings addon for tasker.
    3
    Interesting idea! :good:

    I noticed your images are hosted on a secure https URL...they don't play nice and won't appear in the thread for everyone. They appeared broken for me until I verified the website in Chrome.

    Tasker integration would really increase the apps usability.