Skip to content

cl445/wurstfinger

Repository files navigation

Wurstfinger

The keyboard for fat fingers.

The name “Wurstfinger” is a nod to the “fat finger” problem—thumb-heavy typing on small screens.

Wurstfinger is a MessagEase-inspired keyboard for iOS written in SwiftUI. It brings thumb-friendly gestures from Thumb-Key and the original MessagEase layout to Apple devices, including circular gestures for uppercase letters, return swipes for typographic punctuation, and compose rules to generate accented characters.

Join the Beta

Want to try Wurstfinger before the official release? Join our public TestFlight beta!

Join TestFlight Beta

Beta Features:

  • Nightly builds with the latest features from the develop branch
  • Help shape the keyboard with your feedback
  • Early access to experimental features

Requirements:

Note: Beta builds are automatically generated every night at 2 AM UTC when there are new changes. The first build after joining may take 1-2 hours for Apple's beta review process.

Preview

Lower case layout (light)

Light Theme

Lower case layout (dark)

Dark Theme

Numbers layout (light)

Numbers Layer

Numbers layout (dark)

Numbers Layer (Dark)

Features

  • Multi-language support: 14 languages including English, German, Spanish, French, Portuguese, Italian, Dutch, Swedish, Norwegian, Danish, Finnish, Polish, Czech, and Vietnamese
  • MessagEase layout with symbol and numeric layers
  • Compose engine that reproduces Thumb-Key's combination triggers (e.g. ' + a → á)
  • Return swipes for punctuation and math symbols (?¿, *, /÷, ...)
  • Circular gestures on keys to insert uppercase letters
  • Drag gestures for cursor movement and progressive deletion
  • Customizable settings: Adjust haptic feedback intensity, keyboard scale, and key aspect ratio
  • Onboarding flow with interactive setup guide
  • Support for iOS 17+ (Swift 5, SwiftUI)

Getting Started

Prerequisites

  • Xcode 16 (or newer)
  • iOS 17 SDK

Building

Open the project in Xcode:

xed wurstfinger/wurstfinger.xcodeproj

or build from the command line on macOS:

cd wurstfinger/wurstfinger
xcodebuild -scheme Wurstfinger -destination 'platform=iOS Simulator,name=iPhone 16' build

Running Tests

The project includes unit tests for gesture handling and compose logic. Run all tests with:

cd wurstfinger/wurstfinger
xcodebuild test -scheme Wurstfinger -destination 'platform=iOS Simulator,name=iPhone 16' -only-testing:WurstfingerTests

Note: Some tests require an available iOS Simulator. Adjust the destination to match your local simulator name if necessary.

Installing the Keyboard

  1. Build and run the Wurstfinger scheme on a device or simulator.
  2. The app includes an interactive onboarding guide that walks you through:
    • Adding the keyboard in Settings › General › Keyboard › Keyboards
    • Enabling "Allow Full Access" for cursor control and deletion features
    • Testing the keyboard in the practice view

Project Layout

wurstfinger/
├─ README.md
├─ LICENSE
├─ wurstfinger/                # Xcode project root
│  ├─ wurstfinger.xcodeproj    # Project file
│  ├─ wurstfinger/             # Host app (minimal)
│  ├─ wurstfingerKeyboard/     # Keyboard extension sources
│  ├─ wurstfingerTests/        # Swift Testing unit tests
│  └─ wurstfingerUITests/      # UI test target (currently empty)

License

This project is licensed under the MIT License.

Acknowledgements

About

MessagEase-inspired SwiftUI keyboard for iOS with compose rules, return swipes, and fat-finger friendly gestures.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •