Skip to content

Add ES-PT Typesplit keyboard layout XML#155

Open
racuna wants to merge 1 commit into
tribixbite:mainfrom
racuna:typesplit-inspired-layout
Open

Add ES-PT Typesplit keyboard layout XML#155
racuna wants to merge 1 commit into
tribixbite:mainfrom
racuna:typesplit-inspired-layout

Conversation

@racuna

@racuna racuna commented Jun 12, 2026

Copy link
Copy Markdown

Add ES-PT Typesplit (Thumb-key/MessagEase inspired) keyboard layout XML

Pull Request

Description

This PR introduces a new custom keyboard layout file: es_pt_typesplit.xml.

It is a hybrid layout specifically optimized for bilingual or fluid typing in Spanish (ES) and Portuguese (PT). The design is heavily inspired by the ergonomics of Thumb-key and MessagEase, grouping core characters and utilizing direction-based swipes (north, south, east, west) to access accents (á, é, í, ó, ú, â, ã, ç, ñ), punctuation, and common symbols without changing layers.

Type of Change

  • ✨ New layout (non-breaking change which adds functionality)

Related Issues

For users of MessageAse and Thumb-Key the short swipe is too short. But I managed to use it as my daily driver since a couple of months.

Changes Made

  • Added es_pt_typesplit.xml to src/main/layouts/.
  • Implemented a 5x4 grid system using width="2" for main keys to maximize thumb reach and precision.
  • Integrated comprehensive diacritics for Spanish and Portuguese language compatibility within single keys (e.g., a handles á, â, ã via swipes; c handles ç).
  • Included a fun macro shortcut for the classic shrug emoticon ¯\_(ツ)_/¯ on the d key (north swipe).
  • Adapted the bottom row functionality to match CleverKeys' navigation, emoji, and spacebar actions.

Testing Performed

Daily usage for weeks.

Manual Testing

Test Device:

  • Device: Redmi Note 15 pro 5g
  • Android Version: Android 15 (Hyperos 2)
  • CleverKeys Version: 1.4.0

Test Scenarios:

  • Layout loads correctly from the spacebar gesture
  • Tested all swipe directions (N, S, E, W) for standard characters and accents (á, ç, ñ, etc.).

Results:
The layout renders perfectly. The large target areas make one-handed thumb typing highly efficient once the muscle memory for the swipes is established. Even reducing the size of the keyboard and use it with just one hand.

Automated Testing

not done, I just use it daily

Screenshot

https://i.imgur.com/FSid4Zz.png

Performance Impact: no change, it is just a new layout

Privacy & Security Checklist

[x] ✅ No network code added

[x] ✅ No telemetry or analytics added

[x] ✅ No third-party SDKs added (except ONNX Runtime if needed)

[x] ✅ All data processing remains local

[x] ✅ No sensitive data logging

[x] ✅ No new permissions required

[x] ✅ User privacy maintained

Privacy Impact: None
Explanation: This is a static XML layout definition file. No executable code or data tracking is introduced.

Add ES-PT Typesplit inspired (like Thumb-key) keyboard layout XML

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new XML keyboard layout file latn_typesplit_espt.xml for the 'ES-PT Typesplit' layout. Feedback is provided regarding an unnecessary backslash escape for the question mark character on line 24, which should be removed to prevent it from being parsed literally as \?.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

<key width="2" c="b" s="v" n="&quot;" />
<key width="2" c="shift" s="." w="*" n="-" />
<key width="2" c="n" s="ñ" w="¿" e="¡" />
<key width="2" c="m" s=":" n=";" w="!" e="\?" />

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The question mark ? is unnecessarily escaped with a backslash (\?). In XML, the backslash is not an escape character, so this will be parsed literally as \? instead of ?. This can cause the key to output a backslash followed by a question mark, or fail to register correctly.

Suggested change
<key width="2" c="m" s=":" n=";" w="!" e="\?" />
<key width="2" c="m" s=":" n=";" w="!" e="?" />

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me works with the backslash

@racuna

racuna commented Jun 30, 2026

Copy link
Copy Markdown
Author

I forgot to add the & symbol, so. Please ignore this pull.

<key width="2" c="s" w="&amp;" e="#" />

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant