Skip to content

Add support for Ctrl modifier key and classic keyboard shortcuts (Ctrl+C, Ctrl+V, Ctrl+X, Ctrl+A) #500

Description

@Miller777-dev

Dear LeanType developers,

First of all, thank you for this great open-source keyboard — it's lightweight, privacy-friendly, and highly customizable.

I would like to request a feature that would significantly improve productivity for users who type a lot of text:

Add a Ctrl modifier key and support for classic keyboard shortcuts like:

Ctrl + C — Copy

Ctrl + V — Paste

Ctrl + X — Cut

Ctrl + A — Select All

Ctrl + Z — Undo (optional)

Ctrl + Y — Redo (optional)

Ctrl + S — Save (optional)

Ctrl + F — Find (optional)

Why this is important:

Many users are accustomed to these shortcuts from desktop environments and physical keyboards.

Other Android keyboards (e.g., jbak2, ru7pro, Hackers Keyboard) already support this natively.

It would make LeanType a more viable alternative for power users who rely on text editing on mobile devices.

Technical note:
This can be implemented by tracking the state of the Ctrl key (pressed/released) and intercepting subsequent key presses via InputConnection. The shortcut actions can then be mapped to standard EditorInfo commands like EditorInfo.IME_ACTION_COPY, EditorInfo.IME_ACTION_PASTE, etc.

Suggested implementation:

Add a new key type: "modifier": "ctrl" in layout JSON

When Ctrl is held and a letter key is pressed, execute the corresponding shortcut instead of inserting the character

Visual feedback (e.g., highlighted Ctrl key when active) would be a nice bonus

Use case:
As a user, I want to place a Ctrl key on the left side of the bottom row (next to ?123) and use it with C, V, X, A for fast text manipulation — just like on a physical keyboard.

I hope you consider adding this feature. It would make LeanType not just a minimalist Gboard alternative, but a truly professional-grade keyboard.

Thank you for your time and effort!

P.S. I can help with testing if needed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions