u/AdiraiMaji

[Plugin Share][AM Custom Keyboard] An Open-Source Keyboard with Custom Keymaps and Tasker Automation
▲ 8 r/tasker

[Plugin Share][AM Custom Keyboard] An Open-Source Keyboard with Custom Keymaps and Tasker Automation

⌨️ Introducing AM Custom Keyboard — just launched!

Watch Demo : Youtube Playlist

Built on the excellent Unexpected Keyboard, and extended into a full transliteration engine with a guided Keymap Builder and a way to script your keyboard with Tasker.

If you type in a script your keyboard doesn't natively support, or you're tired of switching apps to run repetitive text tasks — this one's for you.

🔤 Keymaps: type Latin, get any script

Turn any layout into a live transliteration engine. Type "ka" → get "க". Type "a" → get "அ". No app switching, no separate input method — just type normally and watch it convert in real time as you go.

✨ Keymap highlights:

→ Toggle-style cycling: type "a" → அ, type "a" again → ஆ, type "a" again → back to அ. Correct yourself without ever hitting backspace.

→ Multiple input sequences, one output: map "aa" AND "A" to the same ஆ — however your fingers want to type it.

→ A full guided Keymap Builder: build mappings visually, no hand-written JSON required. Import raw JSON, quick-add rows, live duplicate detection, and an exact-match search that never misfires.

→ Rename or delete a keymap and every layout using it updates automatically — nothing breaks, nothing goes stale.

🤖 Tasker Automation:

your keyboard, scriptable from day one

Type a trigger, get a Tasker task's result — right where your cursor is.

→ "##keyword" sends your whole field to a Tasker task and replaces it with the result.

→ "@@keyword" does the same, but only swaps out the trigger text itself.

→ Expand patterns let you define open-ended triggers like "..5+1 " → run a task with "5+1" as input, no fixed keyword list needed.

→ Typed the wrong thing? One backspace right after a result lands undoes it back to your original trigger.

All configured from a single JSON file, with a full in-app guide walking you through setup. And if you want a head start on the Tasker side, check out AM Tasker Plugins — a matching set of ready-made actions, including one built specifically to reply to this keyboard's triggers.

🔗 github.com/adiraimaji/AMTaskerPluginsReleases

Goto Reddit Intro Post for AM Tasker Plugins

🎨 Plus: independent key labels, Keyboard Attributes editing, and one consistent look across every screen, so the whole app feels like one cohesive experience.

Built on the excellent Unexpected Keyboard, extended with independent key labels, a Keymap engine, Keymap Builder, Keyboard Attributes editing, and Tasker Automation.

📥 Download the latest release

🔗 github.com/adiraimaji/AMCustomKeyboard

#Android #Keyboard #Tasker #Automation #Transliteration #Tamil #InputMethod #NewApp

u/AdiraiMaji — 5 days ago
▲ 26 r/tasker

[Plugin Share] AM Tasker Plugins - A Free Collection Of Tasker Action Plugins packed with Extraordinary feature...!

🚀 Introducing AM Tasker Plugins — just launched!

A brand new toolbox of action plugins for Tasker — colors, QR codes, VPN control, regex, Termux scripts, raw UDP packets, and more, ready to drop straight into your automations.

💻 AM Termux

Runs Bash, Python, Node, Ruby, or PHP scripts inside Termux, with named sessions and guided setup.

Demo : [AM Termux]

↩️ AM Custom Keyboard Return - Goto Reddit Intro Post

AM Custom Keyboard is a keyboard app I built with live transliteration and a Tasker Automation feature — type a trigger anywhere, and it can hand your text off to a Tasker task. This plugin is the reply step: the task finishes and sends its result straight back into what you were typing.

Demo : [Demo AM Custom Keyboard Return]

🔗 Check it out: [Download AM Custom Keyboard]

🎨 AM Collect Pixel Colors

Reads colors from any image — one pixel, a region, or a Top Color List or Blended Colors of a given region.

Demo : [AM Collect Pixel Colors]

🔳 AM Create QR

Turns text, links, or variables into a QR code image, saved and ready to use.

🔍 AM Decode QR

Scans an existing QR image and gives you back the text inside it.

Demo : [AM Create QR & AM Decode QR]

🧮 AM Data Processor

Reads or edits one exact value inside JSON or array data, no manual parsing needed.

Demo : [AM Data Processor]

🔒 AM OpenVPN

Starts, pauses, resumes, or stops an OpenVPN for Android profile from a task.

Demo : [AM OpenVPN]

🔎 AM RegEx

Finds, extracts, or replaces text with full regex power — groups, lookaheads, backreferences, and Perl-style case conversion — all from a task.

Demo : [AM RegEx]

📡 AM UDP Client

Sends a UDP packet to any address, with the option to listen for a response.

Demo : [AM UDP Client]

📤 AM Open With

Lets other apps "Share" or "Open With" a file straight into a Tasker automation.

Demo : [AM Open With]

📖 Every plugin comes with its own guide built right into the app — clear steps, examples, and what each field does.

This is v1.0.0 — the toolbox starts here. 👇

📥 Download it now

🔗 github.com/adiraimaji/AMTaskerPluginsReleases

YouTube Playlist 👉All Plugin Demo Playlist

#Android #Tasker #Automation #Termux #OpenVPN #QRCode #RegEx #NewApp

u/AdiraiMaji — 5 days ago
▲ 6 r/tasker

How to get the list of Checked Apps in "Keep Accessibility Running" Preference?

I want to know the list of All the apps checked by user inside preferences **Keep Accessibility Running** I want to dynamically populate an array with it. Is there any way possible to check the list?

**Accessibility Services** Query action doesn't give us this specific list. Any Possible Work around to find the list? TIA

[EDIT] 👇 [Solution] It's done. I've created a workaround to do actually toggle entire Accessibility State including, "Keep Accessibility Running"

%RestartedASs() list are the one's that are in the Keep Accessibility Running Checked List.

What is it used for? Recent days Banking UPI Apps Like GPay, BHIM blocked due to the accessibility permission enabled for apps. So wecan't everytime go there and turn "Keep Accessibility Running" Off and turn off Accessibility for those apps And turn back everything on afterwe're done. This helps to toggle everything we run it.

Import URI

taskertask://H4sIAAAAAAAA/+1bWW/jNhB+jn8F4WIXCdrVLdvZVQQ426BYINiHOAhQ9MFgLNpWq5UFinGaf19SlGxKpiTHR+ukfIklDo8ZcjjHp4l3D9O/EP4VEghSfNXtgmAZXnXNLiDLq25P62u9T4+IwK7fOfNY36wXoQ+22WONZ94kgAT5Zt+97Juuaxs9q+fpvJGRUU4eOFavP7D7lm16OlqRw8CnM3k6/WWv8Q/kj34ffb5fzGYRAsPJBKVp+BhGIXnxdEZlvRIc+qZheDp7YA3DCQkXccYbnBCjC5boqtvP+KMMLgLkO2zZ7Clru36KAzp/NgDPDN7zzHuAUZo1LmGUt1GeENGCMJ5FYTqZazAO8CIMNJJtnHZ3c3vzMPx+P34Y3n0bXt/ejPyPEfkyIpiOGGIMX/i+fpyRL4wwhqxt/Mo5DTb8A0zHKcLLkO7J+UWntDdglBM6bBF9j1V2Z9KsMjmGSTKO4Y8GdsEwScB31mUfxs39GLc2GM8f2pjfm3FrP8btgnH8FMd0GOX0jj91CH5CIJwCeq05tyBMQd7tFzCleo7AgswRfg5TpIE9ZLALGXRB6Vkbva+vvDm7XbhP5CVB/h+3f8Il1CIYzzTOyOsZ4DNxU6AzW8CNhc6tBX/5FpPCbFArSe3EVdft6pxG1y1oFrdBtoRkl0iezo2XxI6ZEjvmOn3RjgnTGsW0vqARHjuUja6mrOv5hdBZkNLKpTQKUQSa3UBzGmhuTrMltF5OM9v35x0b+vxQBFs6JQivL7hgQRmhcz9HxU1PAZlDAiBGxYUH2WDajADkO/gMqTWAsXYC3kIuacl3yGUG5yvncXEK3qNGkKovqRMmfz+AQAf2KmuBHtF0gZFMhuuMItHCZySoIR9/YD2095PWaZG2WRG53IfSRGc/Udw2UVpVsRDncLro/u+jA+tY0YEsPLAN0fkJ3BgN3tgse9xjeP8mOaz368VVuqbSNZWunZhBPlq6ZssMsrtFvnaHUgIxQcFwlK6SsKaVHNlKl+JCk0UU+ZnesFb6nLVG8BFF/nAGwxh8hQl5os6+GgR4Ou/VwG8YB+jvttTS/Cyq+k8t2eUW2Z4rE7rfLvTXRRyEbKbbMOXrhtPCg6xoWftkLWOu29E8LeXIXHQqCyPkfRaJb3k6/Zu/Y0pi99nTcdHJ01cL5TpaYqpN8t7OQADG460O60OuBVQB6VH9bO4OBciCiH8BCuhL7567492r2I38EJcQl7aUvfPTpL3rTYpfigRWGiRbyt4+ahrIBB6s5W0aeymLuIytxsqCNdN2W6JOmVJsRJ3SvcuPp/olYLV5B7zc1UvtHvVSW1uAV9wQj8giqcovmOi3GhsrhEshXCcSiCuESyFcCuHaOaFyGj14KcIqfWTaJcmyZKjXO0GLlEdUHlF5ROURlUd86x7xWN98LFn67TqDVpijBhFnqWWCgjrco4LaiMiRUZFGHNf0PcncwJDEWe2GWTdAJHGgWz+wacHqegLJqSdVFxNIvXpSv540qOf+cmsIzJLBz2YZIG36ICjDBVvXlAHRUhCjBsdROIaK2lTUpqI2FbWpqO0/j9pkrvloOIbsa6bCMZRHVB5ReUTlEZVHPAmPKEsORY+4LhrZ2x/Ka1x2RjZWzlphG+8A29i9sm6lodvU1W1ZVsfrQKpVdb8h8mZq6dpL6d580ZyqmWtTgt1L5jYv1ekXzO1RL/eKcjlPZ/8k73f4L//Her/zD4ltM4lmPwAA

Project Description

    Task: SYS:Toggle Accessibility
    
    A1: Accessibility Services [
         Action: Query ]
    
    A2: Variable Set [
         Name: %as_running
         To: %as_running()
         Structure Output (JSON, etc): On ]
    
    A3: Goto [
         Type: Action Label
         Label: Restart Accessibility ]
        If  [ %as_running !~R true ]
    
    A4: Array Clear [
         Variable Array: %RunningASs ]
    
    <Get Running Services>
    A5: For [
         Variable: %index
         Items: 1:%as_running(#)
         Structure Output (JSON, etc): On ]
    
        A6: If [ %as_running(%index) ~ true ]
    
            A7: Variable Set [
                 Name: %arr_index
                 To: %RunningASs(#)+1
                 Do Maths: On
                 Max Rounding Digits: 3
                 Structure Output (JSON, etc): On ]
    
            A8: Array Push [
                 Variable Array: %RunningASs
                 Position: %arr_index
                 Value: %as_services(%index) ]
    
        A9: End If
    
    A10: End For
    
    A11: Accessibility Services [
          Action: Stop All ]
    
    A12: Wait [
          MS: 0
          Seconds: 1
          Minutes: 0
          Hours: 0
          Days: 0 ]
    
    A13: Accessibility Services [
          Action: Query ]
    
    A14: Array Clear [
          Variable Array: %RestartedASs ]
    
    <Again Capture Running Services>
    A15: For [
          Variable: %index
          Items: 1:%as_running(#)
          Structure Output (JSON, etc): On ]
    
        A16: If [ %as_running(%index) ~ true ]
    
            A17: Variable Set [
                  Name: %arr_index
                  To: %RunningASs(#)+1
                  Do Maths: On
                  Max Rounding Digits: 3
                  Structure Output (JSON, etc): On ]
    
            A18: Array Push [
                  Variable Array: %RestartedASs
                  Position: %arr_index
                  Value: %as_services(%index) ]
    
        A19: End If
    
    A20: End For
    
    <Stop Accessibility>
    A21: Accessibility Services [
          Action: Remove From Keep Running
          Services: %RestartedASs() ]
    
    A22: Accessibility Services [
          Action: Stop All ]
    
    A23: Flash [
          Text: Accessibility Services Stopped
          Continue Task Immediately: On
          Dismiss On Click: On ]
    
    A24: Stop [ ]
    
    <Restart Accessibility>
    A25: Accessibility Services [
          Action: Add To Keep Running
          Services: %RestartedASs() ]
    
    A26: Accessibility Services [
          Action: Start
          Services: %RunningASs() ]
    
    A27: Flash [
          Text: Accessibility Services Restarted
          Continue Task Immediately: On
          Dismiss On Click: On ]
    
   
reddit.com
u/AdiraiMaji — 1 month ago
▲ 1 r/tasker

Is Scene V2 Webview supports Downloads?

I want to have a Webview that handles stock details (Fully Offline). And Save the data as PDF file (Table contents inside) I can manage the Webview content with AI 😅. But I want to know Is it possible to download/save page generated PDF using Scene V2 Webview?

reddit.com
u/AdiraiMaji — 1 month ago
▲ 1 r/tasker

How can I send data to a specific Task from Scene V2 WebView?

I have this basic Task. Which shows A simple WebView which contains button. When I click the button it alerts some text. But I want to send that text to a specific tasker task. How can I do that?

taskertask://H4sIAAAAAAAA/51Va0/bMBT9TH9FZmkTSJA0adoUSCIVKAKJPUS7ThOaJpO4rYdjV47braD+9/kRQtrSTCxfnHvO9fXJ0b1OOIT5A+IXUEAr5xEAVrrAEXCBJRYR6NiB3T66RwKCuLEXqlydJeSL5/kK3AuTFAoUu4Hvt7pN84SOARWNCrrrdTtNL/CCTjd0UEnjNJaVQkeuKqQZigcJomjkfUP3I4x+9//AbEZQ6ChKpcw4jl11hnpRQC8RmFEtDCaiCawFikCgxUl1LEVx2w+kJPWmsYHgJptPiuwWiN9LSTB0JLeV5JZJH4g4fXfx+Xz4/UvfmoqMfJiI04ZC1wMEUx1Y8lFAJi20kinkORIR+Dq8POqCtQSBBUEK0R9vjTxriHKhGKekdGmnrK2ie5YudWCiuRDSCEYTgpOHCORweYX3D/RJ5wqyPiJdwyS+bMwTjmdCx+M5Lew0m60nrRESxMU+uMLWmLPMelYJDk4bK6OrUsMApTYju/Cn4vA1Fc8Oe9JhSCLQBM4W16rh/BquXXCtV7hOwbmGCx3TQ6+0k/tKO/nBcbWdzuY0JeilozS6F44gyTUoTyow2d9I2CmmE4LzZGpDmnKGU1voIbRv+zf9Ue/T8Oeod3vdO7vpD3TDScPkjh7ncGlm1DFGvrXW/0k4EssZiu9ufsEFtAmkE9voebsAU8mY4yh3jH2O8a9m6p4AZ0yAkyegKoATcM7IPKPgEOC0jFwZThnHj4wKSHoET+SFQYXi5YK4pBeyh3EiSWklnaBNOmMpHmPEc3ByVx51iQkZ4EcEVocldgaThwlnUrbclTDCuATzOR/DROb9kNgUk5QjWi1UXGfPoovQ/fe5qp78JiNW31ISWx0CCjOVCFY7Lq3yanO2OXeDq4yGWzeLbt0wulvTWD2yXXPkxjiubfR2f0ZrN+XvpjaFVKjObirYLb9bo/54bVvlngkd9TeNG2Y1f+C48RcC7+MujwcAAA==

reddit.com
u/AdiraiMaji — 2 months ago
▲ 1 r/tasker

[AutoNotification] Why do I see "Couldn't find an action to perform" notification even after successful task.

I'm using AutoNotification in a that Click the "Mark as read" button for certain WhatsApp Notification with specific Title. It actually does it work perfectly. But After It perform that task successful. I always sees this error Notification that says "Couldn't find an action to perform" notification from AutoNotification. Why is that happening? How can I avoid that?

I'm on Android 16, Samsung S25 Ultra with OneUI 8

reddit.com
u/AdiraiMaji — 2 months ago
▲ 1 r/tasker

[AutoWeb] How can I set Default Value for a parameter if I set entire body in single Parameter?

From the documentation for this type of body

{
    "title": "test",
    "description": "This is a test",
    "labels": {
        "starred": true
    }
}

if we want to set variable for "title" parameter we need to use something like this.

{
"title": "
=:==:=
text
name
File Name
The name you want to give the file
=:==:=
",
"description": "This is a test",
"labels": {
"starred": true
}
}

Now Please tell me how can I set default value for this title parameter? So when We add this API in Tasker we will have a default value in that parameter instead of empty placeholder. TIA

reddit.com
u/AdiraiMaji — 3 months ago