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 1.7 · As of: 23 August 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. High score
  7. Settings
  8. Keyboards & levels
  9. Tips for a high score
  10. Group contest
  11. Teams and league

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. High score

Local high score

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. In the completion overlay a golden NEW HIGH SCORE banner appears when you set a new record.

“One-handed / two-handed” mode

High scores 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.

Online high score

High scores in the menu opens the high-score screen with three tabs. All tabs show the entries in the same card layout.

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

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

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

Tab “Mine” (local entries):

“Mine” and “Online” are separate lists: “Mine” is your personal archive (it stays even if others are better online), “Online” 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 offline high scores synchronised”) 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 high scores are yours again.

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

Uploading local high scores to the server

The player settings contain an entry “Lokale Highscores hochladen” below the online-account block. It pushes all of your locally stored “Meine” high scores 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 high-score 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 — high scores are therefore comparable across all games.


7. Settings

Open via menu icon → Settings.

Online player

Player name (local)

Local display name (max. 30 characters). Appears in the game header. High scores are only saved if a name is entered. Blocked terms are rejected during online registration.

Keyboard & level

Selection of the active keyboard and level. Optionally: include your own keyboard file via Load keyboard file.

With auto-layout switched on the app ignores the system font scaling from the Android accessibility settings 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)
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. 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.

Colour pickers (three accent colours)

In the player settings under Appearance 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 high scores 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 docking

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)
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
Auto-advanceAdvance automatically after completing a level (0 = off, 1–15 sec.)

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 → 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


flinqe finga was developed with Flutter · © 2026