Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
eabb82a
ADD: Initial commit Version 1.0
0x78f1935 Apr 10, 2026
34b40fd
Add click_recorder from https://github.com/0x78f1935/Click-Recorder
0x78f1935 Apr 10, 2026
e10b1b1
FIX: Repo layout for the flipper application catalog
0x78f1935 Apr 10, 2026
a6f5726
ADD: Additional smaller sized screenshots
0x78f1935 Apr 10, 2026
3d96502
Merge pull request #2 from 0x78f1935/add/small-screenshots
0x78f1935 Apr 10, 2026
f8681cf
CHANGE: Screenshots
0x78f1935 Apr 10, 2026
f668b6f
Merge pull request #3 from 0x78f1935/add/small-screenshots
0x78f1935 Apr 10, 2026
4844682
CHANGE: Make readme compatible with flipper catalog
0x78f1935 Apr 10, 2026
32d6ccc
Merge pull request #4 from 0x78f1935/add/small-screenshots
0x78f1935 Apr 10, 2026
3c0ac43
FIX: Markdown error: Markdown element 'Header Depth' max level 2 exce…
0x78f1935 Apr 10, 2026
cb00cc6
Merge pull request #5 from 0x78f1935/fix/markdown-error
0x78f1935 Apr 10, 2026
32641eb
FIX: Markdown error: Markdown element 'Short_reference' is not allowed
0x78f1935 Apr 10, 2026
968edf4
Merge pull request #6 from 0x78f1935/fix/markdown-error
0x78f1935 Apr 10, 2026
e1384ae
FIX: Markdown error: Markdown element 'Short_reference' is not allowed
0x78f1935 Apr 10, 2026
d1d2c09
Merge pull request #7 from 0x78f1935/fix/markdown-error
0x78f1935 Apr 10, 2026
3144d47
FIX: Markdown error: Markdown element 'Short_reference' is not allowed
0x78f1935 Apr 10, 2026
8f9d219
Merge pull request #8 from 0x78f1935/fix/markdown-error
0x78f1935 Apr 10, 2026
3235c67
FIX: Removed blocked links and blocked backticks
0x78f1935 Apr 10, 2026
0c65b57
Merge pull request #9 from 0x78f1935/fix/markdown-error
0x78f1935 Apr 10, 2026
3f582d8
FIX: Backtick I forgot to remove
0x78f1935 Apr 10, 2026
f080af7
Merge pull request #10 from 0x78f1935/fix/markdown-error
0x78f1935 Apr 10, 2026
daa5824
Merge click_recorder from https://github.com/0x78f1935/Click-Recorder
0x78f1935 Apr 10, 2026
f261029
Merge branch 'Next-Flip:dev' into dev
0x78f1935 Jun 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions click_recorder/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Linker files
*.ilk

# Debugger Files
*.pdb

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# debug information files
*.dwo

# Ignore virtual environment
venv/
.venv/

# ufbt build output
dist/
.ufbt/

click_recorder/.vscode/
1 change: 1 addition & 0 deletions click_recorder/.gitsubtree
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://github.com/0x78f1935/Click-Recorder master /
28 changes: 28 additions & 0 deletions click_recorder/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "UFBT: Launch",
"type": "debugpy",
"request": "launch",
"module": "ufbt",
"args": [
"launch"
],
"cwd": "${workspaceFolder}/click_recorder"
},
{
"name": "UFBT: Build",
"type": "debugpy",
"request": "launch",
"module": "ufbt",
"args": [
"build"
],
"cwd": "${workspaceFolder}/click_recorder"
},
]
}
674 changes: 674 additions & 0 deletions click_recorder/LICENSE

Large diffs are not rendered by default.

125 changes: 125 additions & 0 deletions click_recorder/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Click Recorder for Flipper Zero

Turn your Flipper Zero into a powerful mouse automation tool. Record, replay, randomize, or spam mouse clicks over USB or Bluetooth. No software needed on the target computer just connect your flipper zero.

## Modes

### Record Clicks

Capture the exact timing of your mouse clicks, then replay them perfectly on the dot.

1. Choose a recording duration (1–60 seconds)
2. A 3-second countdown gives you time to get ready
3. Press **OK** for left clicks, **Back** for right clicks - both at the same moment records a dual click (up to 128 clicks)
4. **Tune the track** - stretch or compress the timing after recording and watch keyframes shift in real time
5. Position your cursor, pick **Play Once** or **Loop Forever**, and go

### Shuffle Clicks

Generate random click patterns within a time window. Each playback produces a brand new distribution - great for randomized stress testing or making automation look human.

1. Set a time window (1–60 seconds)
2. Choose how many clicks (1–128, default 25)
3. Position your cursor, then pick **Shuffle Once** or **Shuffle Forever**

### Spam Click

Rapid-fire a burst of clicks at 100ms intervals.

1. Set a time window (1–60 seconds)
2. Choose how many clicks (1–255) and which button - **Left**, **Middle**, or **Right**
3. Position your cursor, then pick **Spam Once** or **Spam Forever**
4. Press **OK** to pause/resume mid-spam, **Back** to stop

### Computer Mouse

Use your Flipper as a full wireless or wired mouse.

- **Arrow keys** move the cursor (tap = 5px, hold = 20px)
- **OK** = left click (hold for drag)
- **Back** = right click (hold for drag)
- On-screen indicators show which buttons are currently pressed

## Highlights

- **USB + Bluetooth** - switch between wired and wireless from the main menu with Left/Right
- **BLE auto-discovery** - advertises as "ClickRec" or as the Flipper name configured with a blue LED when a device connects
- **Track tuning** - after recording, adjust the duration and all your clicks scale proportionally
- **Pause / resume** - pause playback or spam clicking at any time with OK
- **Loop modes** - play once, loop forever, shuffle forever, or spam forever
- **Works on any OS** - standard HID mouse protocol, no drivers or software required
- **In-app menu** - long-press Back from any screen to access Resume, Menu, About, or Quit

## Controls

| Screen | Key | Action |
|---|---|---|
| **Main Menu** | Up / Down | Navigate modes |
| | Left / Right | Toggle USB / BLE |
| | OK | Select mode |
| | Long Back | Exit the app |
| **Duration** | Up / Down | Adjust seconds (1–60) |
| | OK | Continue |
| | Back | Go back |
| **Recording** | OK | Record left click |
| | Back | Record right click |
| **Tune Track** | Left / Right | Shrink / expand duration |
| | OK | Continue to positioning |
| **Spam Config** | Up / Down | Adjust click count (1–255) |
| | Left / Right | Choose button (L / M / R) |
| **Positioning** | Arrows | Move cursor |
| | OK | Continue to play mode |
| **Play Mode** | Up / Down | Toggle between once / forever |
| | OK | Start |
| **Playback** | OK / Back | Pause |
| | Left / Right | Toggle loop mode |
| **Spamming** | OK | Pause / resume |
| | Back | Stop |
| **Computer Mouse** | Arrows | Move cursor |
| | OK (hold) | Left click |
| | Back (hold) | Right click |
| **Any screen** | Long Back | Open menu |

## Install

### From a pre-built file

Copy `mouse_click_recorder.fap` to your Flipper's SD card at:

```
SD Card → apps/USB/mouse_click_recorder.fap
```

Use qFlipper's file manager, a USB cable, or an SD card reader. Then open **Apps → USB → Click Recorder** on your Flipper.

### Build from source

Requires [ufbt](https://pypi.org/project/ufbt/) and Python 3.9+.

```sh
python -m venv venv
./venv/Scripts/activate
pip install ufbt
cd click_recorder
ufbt launch
```

This builds, deploys, and launches the app in one step.

## Compatibility

- Flipper Zero with Momentum 012 firmware
- Works with any computer, phone, or tablet that supports USB or Bluetooth HID mice

## Troubleshooting

| Problem | Solution |
|---|---|
| No mouse movement | Check that USB HID is connected (look at the Flipper's notification bar) |
| BLE not connecting | Make sure Bluetooth is enabled on both devices - look for "ClickRec" or the flipper name configured in your device's Bluetooth settings |
| App not showing on Flipper | Verify the `.fap` file is at `apps/USB/mouse_click_recorder.fap` on the SD card |
| Build errors | Run `ufbt update` to fetch the latest SDK |

## Author

Created by [**0x78f1935**](https://github.com/0x78f1935) aka **undeƒined**
16 changes: 16 additions & 0 deletions click_recorder/click_recorder/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Changelog

All notable changes to this project will be documented in this file.

# 1.1 - 2026-04-10
## Catalog ready
- Add screenshots for catalog
- Add changelog to src folder
- Copy readme into src folder
- Removed icon.png in favor of the **images** folder
- Fixed a bug which happend when QFlipper would open Click Recorder causing QFlipper to lose connection through USB
- Add visual studio code debug environment

# 1.0 - 2026-04-10
## Initial release
- Release of Click Recorder
94 changes: 94 additions & 0 deletions click_recorder/click_recorder/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Click Recorder for Flipper Zero

Turn your Flipper Zero into a powerful mouse automation tool. Record, replay, randomize, or spam mouse clicks over USB or Bluetooth. No software needed on the target computer just connect your flipper zero.

# Modes

## Record Clicks

Capture the exact timing of your mouse clicks, then replay them perfectly on the dot.

1. Choose a recording duration (1–60 seconds)
2. A 3-second countdown gives you time to get ready
3. Press **OK** for left clicks, **Back** for right clicks - both at the same moment records a dual click (up to 128 clicks)
4. **Tune the track** - stretch or compress the timing after recording and watch keyframes shift in real time
5. Position your cursor, pick **Play Once** or **Loop Forever**, and go

## Shuffle Clicks

Generate random click patterns within a time window. Each playback produces a brand new distribution - great for randomized stress testing or making automation look human.

1. Set a time window (1–60 seconds)
2. Choose how many clicks (1–128, default 25)
3. Position your cursor, then pick **Shuffle Once** or **Shuffle Forever**

## Spam Click

Rapid-fire a burst of clicks at 100ms intervals.

1. Set a time window (1–60 seconds)
2. Choose how many clicks (1–255) and which button - **Left**, **Middle**, or **Right**
3. Position your cursor, then pick **Spam Once** or **Spam Forever**
4. Press **OK** to pause/resume mid-spam, **Back** to stop

## Computer Mouse

Use your Flipper as a full wireless or wired mouse.

- **Arrow keys** move the cursor (tap = 5px, hold = 20px)
- **OK** = left click (hold for drag)
- **Back** = right click (hold for drag)
- On-screen indicators show which buttons are currently pressed

# Highlights

- **USB + Bluetooth** - switch between wired and wireless from the main menu with Left/Right
- **BLE auto-discovery** - advertises as "ClickRec" or as the Flipper name configured with a blue LED when a device connects
- **Track tuning** - after recording, adjust the duration and all your clicks scale proportionally
- **Pause / resume** - pause playback or spam clicking at any time with OK
- **Loop modes** - play once, loop forever, shuffle forever, or spam forever
- **Works on any OS** - standard HID mouse protocol, no drivers or software required
- **In-app menu** - long-press Back from any screen to access Resume, Menu, About, or Quit

# Controls

| Screen | Key | Action |
|---|---|---|
| **Main Menu** | Up / Down | Navigate modes |
| | Left / Right | Toggle USB / BLE |
| | OK | Select mode |
| | Long Back | Exit the app |
| **Duration** | Up / Down | Adjust seconds (1–60) |
| | OK | Continue |
| | Back | Go back |
| **Recording** | OK | Record left click |
| | Back | Record right click |
| **Tune Track** | Left / Right | Shrink / expand duration |
| | OK | Continue to positioning |
| **Spam Config** | Up / Down | Adjust click count (1–255) |
| | Left / Right | Choose button (L / M / R) |
| **Positioning** | Arrows | Move cursor |
| | OK | Continue to play mode |
| **Play Mode** | Up / Down | Toggle between once / forever |
| | OK | Start |
| **Playback** | OK / Back | Pause |
| | Left / Right | Toggle loop mode |
| **Spamming** | OK | Pause / resume |
| | Back | Stop |
| **Computer Mouse** | Arrows | Move cursor |
| | OK (hold) | Left click |
| | Back (hold) | Right click |
| **Any screen** | Long Back | Open menu |

# Troubleshooting

| Problem | Solution |
|---|---|
| No mouse movement | Check that USB HID is connected (look at the Flipper's notification bar) |
| BLE not connecting | Make sure Bluetooth is enabled on both devices - look for "ClickRec" or the flipper name configured in your device's Bluetooth settings |
| App not showing on Flipper | Verify the .fap file is at apps/USB/mouse_click_recorder.fap on the SD card |
| Build errors | Run ufbt update to fetch the latest SDK |

## Author

Created by **0x78f1935** aka **undeƒined**
14 changes: 14 additions & 0 deletions click_recorder/click_recorder/application.fam
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
App(
appid="mouse_click_recorder",
name="Click Recorder",
apptype=FlipperAppType.EXTERNAL,
entry_point="mouse_click_recorder_app",
stack_size=4 * 1024,
fap_category="USB",
fap_version=(1, 1),
fap_description="Record, shuffle, spam mouse clicks or use as a full mouse over USB or BLE HID",
fap_author="0x78f1935",
fap_icon="./images/mouse_10x10.png",
fap_icon_assets="images",
fap_libs=["ble_profile"],
)
Loading