flinqe finga logo

flinqe finga – Game guide

Learning and practice game for keyboard navigation

DEEN

Translation of the German guide. The app interface is in German; key on-screen labels are kept in German below.

Teams Privacy Policy Imprint Why?

Version 2.2 · As of: 9 October 2026

Note: This English guide is a translation of the German game guide. The app's user interface is in German; where a specific on-screen label matters, the German wording is kept (e.g. the buttons NEU, SIM, Ok).


Table of contents

  1. Game idea
  2. Game screen
  3. Controls
  4. Gameplay
  5. Scoring
  6. Personal bests and world records
  7. Settings
  8. Keyboards & levels
  9. Tips for a high score
  10. Group contest
  11. Teams and league
  12. Typing record

1. Game idea

flinqe finga trains fast and precise navigation on virtual keyboards. The goal is to type a given word with as few cursor movements as possible and as quickly as possible.

The cursor starts at a fixed position. Use the control pad to move it to the target key and confirm with ✓. Repeat this until the word is fully entered.


2. Game screen

+------------------------------------------+
|  flinqe finga    12:34:56    =          |  <- Header (compact)
|  Player name                             |
+------------------------------------------+
|  05 * L2 * Mittel   Description     i  |  <- Level row: keyboard-no. . L# . name + description
|                                          |
|  H A L L O                              |  <- Target-word tiles
|                                          |
|  [ ... virtual keyboard ... ]           |  <- Keyboard with red cursor
|                                          |
|  [ Input: h a _ ]                       |  <- Input line
|                                          |
|        00:12.34  * 8 moves              |  <- Stopwatch + move count (top)
| [NEU]  Best time: 7.77 s * 8 mv  [SIM] |  <- Best-time bar (below) - share the row
|                                          |
|             /\                           |
|          <  Ok  >                        |  <- Control pad
|             \/                           |
+------------------------------------------+
|  hello world it is me                   |  <- Marquee with the target phrase
|  Opt: 14 (*)                            |  <- Status: Opt value left, optional hint
+------------------------------------------+

Level row: Shows keyboard-no. · L# · name in the badge with the description next to it (e.g. “01 · L3 · Mittel”). The keyboard name is shown in short form — the Tastatur_ prefix is dropped; Tastatur_001 becomes “01”, Tastatur_009 becomes “09”, Tastatur_101_ger becomes “101”. If the level name is just a number (“L1”), it isn’t shown twice. Tapping opens an info dialog with keyboard number, keyboard description, level number and level description (10-second auto-close timer). On keyboards with fewer rows the row text grows automatically (≤ 4 rows ≈ 30 % larger).

Stopwatch + best-time bar: The stopwatch (with move counter) and your personal best for the current phrase share the height of the NEU button. If no best time exists yet, the stopwatch stands alone in the centre.

Footer row 1 (yellow, scrolling): The target phrase as a marquee.

Footer row 2: Opt: N shows the optimal number of moves for the current phrase. If (*) follows, the optimal solution can only be reached with the help of the cursor keys ◀/▶ — these phrases are especially interesting for advanced players (see “cursor strategy” below). During game events (“undo”, “simulation running”, “time’s up”) a short hint appears to the right of the Opt value.

Wraparound is always active — at the edge the cursor jumps to the opposite side.


3. Controls

Physical keyboard

KeyFunction
Arrow keysMove the cursor on the keyboard
EnterPress the highlighted key
Numpad 8 2 4 6Move the cursor (alternative)
Numpad 5Press the key (alternative)

Touchscreen — standard

GestureFunction
Tap the arrow buttonsMove the cursor on the keyboard
Tap Ok / check markPress the highlighted key
Tap <-Undo the last cursor movement
Swipe left/right on the keyboardLoad the next / previous layout
Swipe up/down on the keyboardMake the grid brighter / darker

Touchscreen — with diagonal navigation

When diagonal navigation is enabled, a 3×3 control pad appears with 4 additional diagonal keys (on all keyboards, regardless of their shape):

  diagonal-up-left     up    diagonal-up-right
            left       Ok    right
  diagonal-down-left  down   diagonal-down-right

4. Gameplay

Start

After opening the app, a random target word appears. The timer is stopped – the first movement starts it.

Typing

Navigate to the desired key with the control pad and confirm with Ok. The game automatically detects when the input matches the target word.

Special keys on the keyboard

SymbolFunction
BackSpaceDelete the last character
DelDelete the character at the cursor position
EnterConfirm the input
SpaceInsert a space
ShiftShift (single uppercase letter)
CapsLockCaps Lock (permanent uppercase)
left rightMove the text cursor within the input line

Cursor strategy (advanced)

The left/right keys on the keyboard move the text input cursor. This lets you insert letters in any order. Example for the word “BRIEFE”: type R, I, E, F, E first, then press left several times to insert the B at the start. On certain keyboard layouts this saves many moves.

Finish

On correct input the completion overlay appears with score, time and moves. From there:

Time limit

If a level has a time limit and the time runs out, “TIME UP” appears. Again starts a new attempt.

The time limit adapts to the difficulty of the phrase: the longer the optimal solution, the more time you get (but at least the level base time). This keeps even a difficult phrase fairly solvable. The simulation (optimal path, SIM) always runs through completely without a time limit — it shows the solution and never fails because of the clock.


5. Scoring

Score = 10,000 - (moves x 10) - (time in ms / 200)

Minimum value: 0 points (the score never goes negative).

FactorEffectTip
Moves-10 points per cursor movementFind the most direct paths
Time-1 point per 200 msType briskly, don't hesitate

Example: word in 25 moves and 18 seconds: 10,000 - 250 - 90 = 9,660 points

Moves are more costly than time: 5 extra moves cost 50 points; 5 extra seconds cost 25 points.

The overlay also shows the deviation from the theoretical optimum (+N = N moves more than optimal). The optimal number of moves is calculated automatically.


6. Personal bests and world records

The game draws a strict distinction between two things:

So a new personal best is not yet a world record.

Personal best (on the device)

For each combination (keyboard, rule set, phrase, diagonal, mode) the game stores exactly one entry — the best result. A new attempt automatically overwrites the old entry if it is better. The completion overlay then shows the banner PERSÖNLICHE BESTLEISTUNG (personal best). If the server also confirms the run as the best worldwide, it changes to WELTREKORD (world record). If there is currently no connection to the server, the line “auch Weltrekord? (Du bist offline)” appears underneath — whether the run is also the best worldwide is then still open. It is submitted automatically later on.

“One-handed / two-handed” mode

Best results are ranked separately for one-handed and two-handed play:

If you mostly play one-handed, you can specifically improve your own one-handed best results.

(*) marker

Phrases with a (*) star are those whose optimal solution uses the text cursor (◀/▶ on the keyboard). They are technically more demanding and interesting for advanced players.

World records (online)

Weltrekorde/Pers. Bestleistungen (world records / personal bests) in the menu opens the screen of the same name with three tabs. All tabs show the entries in the same card layout.

You can recognise the two world-record tabs by the globe symbol with an extra symbol: 🌐+filter = filtered to the current combination, 🌐+up/down arrows = all entries in order.

Tab “Weltrekorde” (globe + filter — current combination):

Tab “Weltrekorde” (globe + arrows — all entries):

Tab “Pers. Bestleistungen” (entries on this device):

“Pers. Bestleistungen” and “Weltrekorde” are separate lists: “Pers. Bestleistungen” is your own archive (it stays even if others are better), “Weltrekorde” shows only the respective rank-1 holder. A synchronisation never deletes local entries.

Offline mode

If the server is currently unreachable, the score is cached in an offline queue. The next time the app starts with a connection, these entries are submitted automatically — a short message (“N Ergebnisse nachgereicht”, N results submitted) confirms the sync. The server decides per entry whether it beats the current best result.

Messages from the operator

The operator can send messages to you individually or to all players (e.g. notes about new versions, replies to your questions). On the next app start, a dialog appears with subject, body and a reply field (max. 100 characters). Tapping “Verstanden” marks the message as read on the server and stores your reply. Each message is shown to each player only once.

Linking your account (device change)

If you get a new phone, or want your name changed, you can carry your account over without losing your place on the leaderboard:

  1. In the player settings tap “Link account …”.
  2. Enter your existing player name.
  3. Tell the operator the device key shown — they unlock this device for the name.
  4. Then tap “Link”: name and world records are yours again.

As protection against misuse, a foreign name cannot simply be taken over — the approval is done by the operator.

Uploading personal bests to the server

The player settings contain an entry “Persönliche Bestleistungen hochladen” below the online-account block. It pushes all of the personal bests stored under “Pers. Bestleistungen” to the server in one go. The server only accepts entries that are better than what is already there (or that are still missing) — no local data is changed. Useful after a server data loss or after a device change, when you still have your local bests but the server doesn’t.

What is stored?

Each entry contains:

FieldMeaning
Target wordThe typed word / phrase
Keyboard IDWhich layout was used
Navigation modeRule set (Rs01 / Rs02)
DiagonalWas diagonal navigation active?
ModeOne-handed / two-handed (from the control-pad position)
Cursor pathWas the (*) trick optimal?
Moves / time / scoreCore values
Optimal movesTheoretical minimum
Player nameLocal name
Build numberApp version

Note: Wraparound is always active — best results are therefore comparable across all games.


7. Settings

Open via menu icon → Settings.

Online player

Your player name is the name you register online — there is no separate, local-only name field. It appears in the game header. Personal bests are only saved once you have a name. Blocked terms are rejected during registration.

Keyboard & level

Selection of the active keyboard and level.

With auto-layout switched on the app ignores the phone's system font size (Android: accessibility settings; iPhone: Settings → Display & Brightness → Text Size) and uses its own, device-independent defaults. The game then looks the same on every handset without you having to fine-tune anything per device.

While auto-layout is active the following size sliders are hidden entirely (key font, secondary-label font, max. font enlargement, scale key font to key height, target-tile size). Only after turning auto-layout off do they reappear and become individually adjustable.

Size sliders (only without auto-layout)

SettingFunction
Key font sizeGlobal font-size multiplier (50–200 %)
Secondary-label font sizeSize of the Shift labels on the keys (50–200 %)
Max. font enlargement (system)Upper limit for the system font size (Android accessibility or iPhone text size)
Scale key font to key heightPer-key font scaled proportionally to the rendered key height
Target-tile sizeSize of the target-word tiles (16–44 px); font scales with it

Max. font enlargement (system): Android has its own font-size setting in the accessibility options, the iPhone under Settings → Display & Brightness → Text Size. flinqe finga adopts it so the app scales up/down with it. Very high system levels can however make the layout overflow. With this slider you set how much the app font may be enlarged at most — in 10 steps from ×1.30 to ×1.75 (default ×1.75). Lower = definitely no overflow; higher = larger font, but at very high system levels it can get tight. The lower limit is fixed so the font never becomes unreadably small.

Appearance

SettingFunction
Key colour (Tastenfarbe)Black, white or navy blue
Navigation frame (Navigations-Rahmen)Shows in colour which directions you can move in
Symbols on special keys (Symbole auf Sondertasten)Shift, CapsLock, Enter, Backspace and Delete as symbols instead of text

Below these come the colour pickers for the control pad, arrow keys, ✓ button, header and play area, plus the title effect (chrome or fire).

Colour pickers (three accent colours)

In the player settings, in the Spielbereich-Farbe (play-area colour) section, you’ll find three colour pickers, each tinting a whole UI area:

Each picker opens when you tap the corresponding colour swatch. Changes take effect immediately, no restart needed.

Controls how the cursor jumps at line boundaries when pressing arrow-up/-down.

Diagonal navigation: enables the four diagonal directions ↖↗↙↘; the control pad then becomes a 3×3 grid. With and without diagonal, separate rankings are kept.

Feedback

SettingFunction
SoundAcknowledge direction keys with a tone
Sound volumeSlider 0–100 %
VibrationAcknowledge direction keys with vibration
Key clickAcknowledge the Ok key with a click sound
Click volumeSlider 0–100 %
Intro soundPlay the voice announcement on app start
Vibration intensityLight / medium / strong

Control-pad position

ModeDescription
One-handed leftControl pad at the left edge
Two-handedControl pad centred (default)
One-handed rightControl pad at the right edge

Gameplay

SettingFunction
NEU buttonShow the quick-restart button next to the timer
Undo buttonUndo the last cursor movement (button next to the control pad)
Show SIM button (SIM-Button anzeigen)Shows the SIM button next to the control pad: the app demonstrates the optimal path for you
Highlight next keyMarks the key to be typed next in green. This is only a guide to the next character in word order — not necessarily the path that needs the fewest moves (see the “i” in the settings)
Highlight optimal next keyMarks the next key on the optimal (fewest-moves) solution path in pink — i.e. the next step pressed by the solver or the pre-computed path. This may be in a different order or a ◀ ▶ cursor key. Follow this marking for the best score
Hint marking: flash + split (Hinweis-Markierung: blinken + geteilt)ON: if the green and the pink marking are on the same key, it is green at the top and pink at the bottom; the frame only flashes briefly. OFF: the frame stays on, and pink wins if both are on the same key
Auto-advanceAdvance automatically after completing a level (0 = off, 1–15 sec.)

Help

Management


8. Keyboards & levels

Switching during play

Swipe left or right on the keyboard to switch between the available layouts.

Switching in the settings

Keyboards & levels opens the level-selection screen with all keyboards and levels.

Available keyboards (14)

Classic – levels by word length

IDDescription
tastatur_001Standard QWERTZ
tastatur_002QWERTZ extended (Del key, more special characters)
tastatur_003Compact layout without number row
tastatur_004Compact layout, shifted
tastatur_005ABC grid (uppercase, no Shift)
tastatur_006Special-character keyboard
tastatur_007Mirror – QWERTZ mirrored horizontally
tastatur_008QWERTZ with CapsLock in the middle of the home row
tastatur_009Cursor – left cluster + cursor bridge + right island

Puzzle – levels by navigation

IDConcept
tastatur_101Islands – vowels on top / bridge / consonants below
tastatur_102Spiral – a–z clockwise on a 6×5 grid
tastatur_103Hub – E in the geometric centre, frequent letters as neighbours
tastatur_104Chessboard – vowels/consonants in an alternating pattern, incl. umlauts
tastatur_105Wraparound – frequent letter pairs at opposite edges

9. Tips for a high score

Plan paths ahead The timer only starts on the first movement. Look at the target word and plan the path before you begin.

Use direct paths The shortest path between two keys often runs diagonally — when diagonal navigation is active, you can exploit this on every keyboard.

Use wraparound Wraparound is always active: the cursor jumps from the edge straight to the opposite side. On keyboards with frequent letter pairs at opposite edges (e.g. tastatur_105 “Wraparound”) this saves many moves.

Cursor strategy The left/right keys on the keyboard move the text input cursor. On certain layouts it pays off to type the letters that are close together first and then insert the distant letter with left — instead of navigating back and forth.

CapsLock instead of Shift For words with several consecutive uppercase letters (abbreviations: NASA, HTML, USB) CapsLock pays off instead of pressing Shift repeatedly — especially on tastatur_008, where CapsLock sits centrally in the home row.

Mind the cursor position after typing After every key press the cursor stays on the last pressed key. Choose letters in an order that leaves short paths to the next target.

Use hub letters On the hub keyboard (tastatur_103) E sits in the centre. Words with many E's have extremely short paths — E is always at most 1–2 steps away.

Track the optimum value The footer shows Opt: N — the theoretically minimal number of moves. The completion overlay shows your deviation from it (+N) as a clear indicator of room for improvement.


10. Group contest

For groups who want to compete together — a team day, for instance. Everyone plays the same phrases against the same clock, each on their own device, and a shared ranking appears at the end.

Taking part

  1. One person starts: menu (≡) → Gruppenwettkampf starten → choose Steuerkreuz (control pad) at the top (for a typing contest see chapter 12) → pick a keyboard and a playing time → Wettkampf anlegen. A six-character code appears.
  2. Everyone else: menu → Gruppenwettkampf beitreten → type in the code.
  3. Play: the first phrase appears by itself. The clock only starts with your first move, so there is no rush to get ready.
  4. Each solved phrase is followed straight away by the next one. The bar at the top shows time left, progress and points; it turns red for the final thirty seconds.
  5. When the time is up, the ranking appears.

Whoever started may play as well — they simply join like everybody else.

Points

Each phrase is worth up to 100 points. Full marks go to the shortest possible route; every detour costs accordingly. A phrase you are halfway through when time runs out counts pro rata.

What counts is not who types fastest, but who takes the fewest detours. That is deliberate: on an older phone the control pad responds more slowly, so if time were the measure, the newest handset would win rather than the sharpest mind. Three clean phrases can therefore beat four scrappy ones.

The same conditions for everyone

The keyboard, the rule set and diagonal navigation are set by whoever starts the contest. While it runs, key hints and the SIM button are switched off for everyone, even if you normally have them on. Whether your control pad sits on the left, the right or in the middle is still up to you.

Phrases are chosen on the short side, are drawn from every level of the keyboard and differ from those of the previous contests — so nobody can drill a fixed set.

Worth knowing


11. Teams and league

A group contest is one evening. A team stays — and with several teams you can play a whole season with a table, like a club league.

Most of it runs in the browser, not in the app: a table, a fixture list and squad management are easier to handle on a computer, and that way people who have not installed the app can follow along too. It also keeps the app lean.

https://flinqefinga.de/DenkeUndSeiSchnell/liga/?lang=en

Joining a team

You need an online player account (player settings). Then:

  1. Whoever founded the team gives you a join code — six characters, just like a contest code.
  2. In the app: menu (≡) → Gruppenwettkampf starten → the Meine Mannschaften card at the bottom → Mannschaft beitreten → type the code.

That is all. From now on your results count for that team.

Nobody can add you. Not even the captain — you become a member only by joining yourself. That is deliberate: otherwise anyone could write other people's names into a team.

Founding a team

In the browser at …/liga/kapitaen.php, no sign-in needed. You choose a name, a three-character tag, a colour and a motto, and you receive two codes:

Write both down; the captain code is shown only once. If it falls into the wrong hands, just draw a new one — the old one stops working at once. When the captaincy changes, you hand the code over; your player account is not affected.

Team result of a contest

Every ordinary group contest has a team result alongside the individual ranking. After the contest, the Mannschaftswertung im Browser button on the result screen takes you there.

The three best results of each team are counted. So any number of people may take part without large teams gaining an advantage — and it is still worth having many entrants, because the chance of three good results grows.

If you belong to several teams, the app asks after joining which one you are playing for in this contest. If you belong to only one, that happens by itself.

Season

Over several weeks: one matchday per week, on which two teams face each other.

You play as always — a matchday is an ordinary group contest, you just enter the code. The scoring, however, works like a team match in chess: board 1 against board 1, board 2 against board 2 and so on. Whoever wins their board takes a board point; a tie gives half a point to each. The board points decide the match: a win is three table points, a draw one.

Compared first is the score, then who needed fewer moves, then the time. If somebody does not turn up, they lose their board — the rest of the team still counts normally.

Which board you play is set by your captain before the matchday. The rule: board 1 is the strongest. The order must follow playing strength, otherwise the server rejects it — else one could hide the best player at the back and win cheaply there.

Table, fixtures and the board duels of every matchday are in the browser at …/liga/saison.php.

Cup

Alongside the season there can be a cup: a knockout tournament with one round per matchday. Lose and you are out; win and you go through — until only two are left for the final.

Nothing changes for you. A cup round is an ordinary group contest again: enter the code and play. Line-ups work just as on a matchday.

If a tie is level on board points, the decision goes, in order, to the result on board 1, then to the team's lower total number of moves, and if that is equal as well, the home team goes through. Nothing is ever decided by drawing lots — otherwise the same tie could come out differently when it is scored again.

With an odd number of teams, one goes through without an opponent (a bye). The bracket is in the browser, on the same page as the table.

Promotion and relegation

With enough teams there are several leagues stacked on top of each other. At the end of the season the bottom teams of the upper league go down and the top teams of the lower one come up.

You need do nothing and keep nothing in mind: the promotion and relegation places are colour-marked in the table, all season long. That is the whole point — the bottom of the table still has something at stake, and a matchday down there matters as much as one at the top.

Worth knowing


12. Typing record

Only one thing counts here: speed at plain, ordinary typing. No control pad, no moves — a large QWERTZ keyboard appears at the bottom (with the switch Mit meiner Handy-Tastatur your phone's own keyboard appears instead), eight phrases at the top, and you type them as fast as you can.

Found in the menu (≡) → Tipp-Rekord (schnell tippen).

Two modes

Right on the start screen a small board shows the top 5 of the weekly text for your chosen keyboard and switches. After a weekly round you see the top 5 again — with your name highlighted, and if you are not among them, with your rank. The full list (up to rank 50) opens via the trophy at the top right.

Record texts: In the leaderboard, Zeitraum (period) offers Texte (texts). It lists texts from typing contests that were published as record texts when the contest was set up, each with places 1–3 and the date of the record. Tapping a text shows the full list and the button “Diesen Text spielen” (play this text) — so you can take on exactly this text at any time, even a record that is months old. Faster times push it down. Record texts do not count towards Alles (all time): that list only contains weekly texts, so short, easy texts do not distort the comparison.

Reporting: If a record text or a player name is offensive or objectionable, you can report it — on an opened record text with “Text melden” (report text), for names in every leaderboard by long-pressing the name. A reason is optional. The operator checks the report and removes the content if necessary; who reported is not stored.

Rules

On-screen keyboard or real keyboard

With ten fingers on a real keyboard you are two to three times as fast as with your thumbs on a phone. That is why there are three separate rankings:

The app detects the class by itself; for the phone keyboard you only need to set the switch.

With the phone keyboard

Typing contest, teams and league

You can also type against each other. Menu (≡) → Gruppenwettkampf starten → choose Tippen (Tempo) at the top. The same settings apply to everyone:

In a contest, keep-typing mode only applies the penalty time, not the 90 % threshold — even someone who makes many mistakes still gets a result.

The others join with the code as usual (Gruppenwettkampf beitreten) and go straight to the typing screen. Everyone types once; afterwards Rangliste shows the result in words per minute.

Team scoring, league match days and the cup work just like in the control-pad contest. Compared first is speed, then fewer mistakes, then the time. Among the season awards, the Efficiency King stands for the highest accuracy in a typing league.

Playing fair

The server checks every submitted result: the gaps between keystrokes must add up to the time, the speed must be humanly possible, and the gaps must not be machine-like even. Anything that fails is not counted. Pasting from the clipboard does not work — there is no visible input field, and pasting is switched off.


flinqe finga was developed with Flutter · © 2026