The Thai Keyboard Layout and Finger Map

September 2, 202615 min readlayouttechnique

Touch-typing works because every key has an assigned finger. Once your fingers own their zones, you stop hunting and start flowing. ThaiTyper’s on-screen board colours those zones from FINGER_BY_CODE in lib/keyboard/data.ts — the same table this guide uses. The positions below are Kedmanee. If your OS is on Pattachote, the F bump is ก and the J bump is า, and every sentence that names ด on F or ่ on J is describing the other layout.

The physical board is QWERTY-shaped. Finger zones do not move when the character map changes: left pinky is still the A column, right index is still H and J plus the columns around them. What you type on those keys changes. This article is the Kedmanee assignment: which Thai character each finger owes, and which heatmap lights mean which finger is failing.

The home position

Your eight fingers rest on the home row, thumbs on the space bar. The physical F and J keys carry small tactile bumps so you can find home without looking — feel for them, settle in, and you always have a reference point to return to after reaching for a far key. On Kedmanee those bumps are load-bearing: F is ด, J is ่. If you sit down with the left index on D, every home-row letter is one column off, and the heatmap will light a stripe of neighbours instead of a single key.

The rest of the left hand falls from the F bump: left middle on D (ก), left ring on S (ห), left pinky on A (ฟ). The right hand falls from the J bump: right middle on K (า), right ring on L (ส), right pinky on semicolon (ว). Caps Lock is off. Both Shift keys are free, because you will need them for โ (Shift+F), ๊ (Shift+U), and ๋ (Shift+J). Thumbs stay on space; they do not type Thai letters.

Quote, the key just past semicolon, is still the right pinky’s. ง lives there. It is not a ninth home-row rest; it is an extra stop on the way to Enter. งาน is ก on D, า on K, ง on quote — left middle, right middle, right pinky. If you leave the pinky hanging on quote, the next ว on semicolon is late. Touch quote, type ง, return to ว. That return is the whole ง skill.

What sits under your fingers

On Kedmanee the home row, left to right on A S D F G H J K L semicolon, is ฟ ห ก ด เ ้ ่ า ส ว. That is not a random handful — it includes ก (D, left middle) and า (K, right middle), two of the most frequent characters in written Thai, plus the pre-posed vowel เ on G and the two everyday tone marks ้ on H and ่ on J. Because so much common text lives here, the home row alone gets you กา, ดา, หา, สา, วา, and กด before you ever reach.

Not every home key is a consonant. The consonants at rest are ฟ ห ก ด on the left and ส ว on the right, plus ง on quote, which the right pinky also covers. G H J K hold เ ้ ่ า — a vowel-and-tone cluster the skill track withholds until trailing-vowels, tone-marks, and preposed-order. ThaiTyper’s home-consonants atom therefore drills ฟหกดสวง and leaves the four middle keys for later. Mixing them on day one is how beginners type เ twice while meaning to rest on G.

กา is the home-row proof: D then K, left middle then right middle, both rest keys, no reach. ดา is F then K. หา is S then K. สา is L then K. วา is semicolon then K. เ on G is the left index’s second home-row key, so เป็น starts on a rest finger that must not double-tap. If กา is not automatic, do not add O (น) yet. The map is built from these ten keys outward.

  • A ฟ left pinky. F ด left index (bump). D ก left middle. S ห left ring.
  • G เ left index. H ้ right index. J ่ right index (bump). K า right middle.
  • L ส right ring. Semicolon ว right pinky. Quote ง right pinky, one key past ว.
  • Return every finger after a press. The rest is the map; the press is a visit.

The eight finger zones

Each finger owns a roughly vertical column of keys. The index fingers are the workhorses and cover two columns each; the pinkies handle the outer edges plus Shift, Enter, and Backspace. The thumbs press only the space bar. ThaiTyper’s finger-guide colours are FCOLOR in the same data file: L1–L4 left pinky to left index, R4–R1 right index to right pinky. A heatmap that lights several keys of one colour is one finger, not five unrelated letters.

Read the zones as round trips from home, not as a poster. The left index rests on F (ด) and also owns G (เ), so เด็ก starts on that finger’s home column (เ on G, ด on F) before Shift+H and ก. The right index rests on J (่) and also owns H (้), so ข้าว’s ้ is a one-step visit left of the bump. If a zone feels “too busy,” that is the design: Kedmanee put frequency under the indexes and parked rarities on the pinkies.

  • Left pinky (L1): ฟ on A, ๆ on Q, ผ on Z, ๅ on Digit1, left Shift / Tab / Caps.
  • Left ring (L2): ห on S, ไ on W, ป on X, / on Digit2 (Thai digit ๑ is Shift of that key).
  • Left middle (L3): ก on D, ำ on E, แ on C, - on Digit3 (๒ is Shift).
  • Left index (L4): ด เ on F G; พ ะ on R T; อ ิ on V B; ภ ถ on Digit4 Digit5. Two columns.
  • Right index (R4): ้ ่ on H J; ั ี on Y U; ื ท on N M; ุ ึ on Digit6 Digit7. All four tones.
  • Right middle (R3): า on K, ร on I, ม on comma, ค on Digit8.
  • Right ring (R2): ส on L, น on O, ใ on period, ต on Digit9.
  • Right pinky (R1): ว on semicolon, ย on P, ง on quote, บ ล on the brackets, จ ข ช on Digit0 minus equal, ฝ on slash, plus Enter, Backspace, right Shift.
  • Thumbs: space only.

Why the index fingers own two columns

Standard touch-typing gives each index two columns because the hand’s centre can pivot. On Kedmanee that is not a trivia fact: it is why ด and เ share the left index, and why ่ and ้ share the right index. The left index’s second column is G (เ) plus T (ะ) and Digit5 (ถ). The right index’s second column is H (้) plus Y (ั) and Digit6 (ุ). Words like เป็น (เ G, ป X, ็ Shift+H, น O) and ที่ (ถ Digit5, ี U, ่ J) are index-heavy on purpose.

The trap is treating the extra column as a second rest. You rest on F and J, not on G and H. เ is a press, then the left index returns to ด. ้ is a press, then the right index returns to ่. Learners who park on G type เเ by accident. Learners who park on H type ้ when they meant ่. The bumps exist so the extra column stays a visit.

  1. Left index: F (ด) rest, G (เ) visit, T (ะ) visit, B (ิ) visit, Digit5 (ถ) visit. Return to F.
  2. Right index: J (่) rest, H (้) visit, U (ี) visit, N (ื) visit, Digit6 (ุ) visit. Return to J.
  3. Type เป็น slowly and watch the left index leave F for G, then come back, while the right index later takes Shift+H.
  4. Type ที่: left index up to Digit5 (ถ), right index to U (ี) then J (่). Two indexes, three keys, one word.

One finger owns every tone mark

Here is a fact worth internalising: on Kedmanee all four tone marks belong to the right index finger. The two common ones, ไม้เอก (่) and ไม้โท (้), sit on the home row itself; the two rarer ones, ไม้ตรี (๊) and ไม้จัตวา (๋), live on the Shift layer of that same finger’s reach — ๊ on Shift+U, ๋ on Shift+J. So once your right index knows its territory, you can place any tone without your hand leaving home — and you also know why ่ and ้ are so easy to confuse: they are neighbours pressed by the same finger.

ThaiTyper splits the work: tone-marks drills ่ and ้, tone-stacking adds ๊ and ๋. ็ on Shift+H is not a tone mark; it is maitaikhu, and it still belongs to this finger. Opposite-hand Shift for the Shift-layer marks: left Shift, right index. Same-hand Shift is how ๊ becomes ี and ๋ becomes ่. If the heatmap lights KeyH and KeyJ together, slow this one finger. Do not drill “tones” as an abstract; drill J versus H.

Each key shows its base character on top and its Shift character below. The coloured top border marks which finger presses the key:

  • Left pinky
  • Left ring
  • Left middle
  • Left index
  • Right index
  • Right middle
  • Right ring
  • Right pinky
  • Thumb
_%
+
/
-
฿
Tab
"
,
Caps
.
⇧ Shift
(
)
?
⇧ Shift
The Kedmanee layout — keys coloured by finger zone.

ข้าว puts the right index to work in a real word: ข on minus (right pinky, number row), ้ on H (right index, visit), า on K (right middle, rest), ว on semicolon (right pinky, rest). Three right-hand fingers, one left-hand silence. ขาว is the same without H. If ข้าว comes out ขาว, this finger skipped the visit to H. If it comes out ข้า, the pinky never made it to semicolon. Name the finger, not the word.

Reaching the Shift layer

Many Thai characters — the rarer tone marks, the Thai digits, and the less common consonants — live on the Shift layer. The rule is to use the opposite hand’s Shift from the key you are pressing: a left-hand character uses the right Shift, and a right-hand character uses the left. This keeps one hand free to reach the key cleanly instead of contorting a single hand to do both. โ is the test case: Shift+F, right Shift, left index stays on the F bump. Left Shift plus F is how you get a late ด.

Map the chords you will actually type. Right Shift: โ on F, ฎ on E, ฏ on D, ฉ on C, ฆ on S, ฤ on A. Left Shift: ๊ on U, ๋ on J, ็ on H, ์ on N, ํ on Y, ู on Digit6, ฿ on Digit7, and the Thai digits on Digit2 through Equal plus ๐ on Q. The shift-layer atom exists so these fail as Shift problems, not as “I do not know the letter.” A dropped Shift always produces the base of the same physical key; name that base and you have the diagnosis.

  1. โ: right Shift, F. Base of that key is ด.
  2. ๊: left Shift, U. Base is ี. ๋: left Shift, J. Base is ่.
  3. ็ in เด็ก: left Shift, H. Base is ้. เด้ means H was unshifted.
  4. ๐: right Shift, Q. Base is ๆ. Digit0’s base is จ, not zero.

Why both hands matter

Because Kedmanee spreads common letters across both hands, fluent Thai typing is a two-handed conversation: a pre-posed vowel on the left, a consonant under the right, a tone mark back on the right index. เก is G then D, both left hand. ไม่ is W (left), comma (right), J (right). การ is D (left), K (right), I (right). Drilling one hand at a time is fine early on, but real speed comes from the hands handing off to each other smoothly — especially on ไ-words (left ring) that finish with ่ (right index).

Hand balance is also why same-hand Shift fails and why ใ feels slow. ใ is period, right ring, the only pre-posed vowel on the right hand; ใจ is period then Digit0 (จ), both right pinky/ring, then you still need whatever follows. ไ-words keep the vowel on the left (W) and free the right hand for ม ย ต. That is not a reason to avoid ใ; it is why ใ-words deserve their own slow reps. Alternate ไม่ and ใจ until the handoff is the thing you notice, not the sound.

การ is the balanced word the kedmanee-vs-pattachote guide uses, and it is a finger-map drill too: ก on D (left middle), า on K (right middle), ร on I (right middle, top). Two middles, one of them reaching. ไม่ is left ring (ไ on W), right middle (ม on comma), right index (่ on J). If you can type both words without looking, both hands are talking. If การ is fast and ไม่ is not, the left ring’s top-row reach is the missing zone, not “vowels.”

The pinky edges, including ง and ข

Pinkies own the edges, and on Kedmanee those edges hold letters you cannot postpone. The right pinky types ว (semicolon, home), ง (quote), ย (P), บ (BracketLeft), ล (BracketRight), จ (Digit0), ข (minus), ช (equal), ฝ (slash). ง is one of the most frequent finals in the language and it is not on the home row proper — it is the extra key past ว. ข is a number-row reach on minus. A locked pinky will miss both, and the heatmap will name KeyQuote and Minus together.

The left pinky is lighter on letters and heavier on modifiers: ฟ on A, ๆ on Q, ผ on Z, and left Shift for every right-hand Shift letter. ผ on Z is the worst reach on the board for that finger; the rare-clusters atom parks it there on purpose. Do not flatten the pinky to mash Shift and Z together. Rest on A, reach to Z, return, and use the opposite Shift when the letter is on the right hand. ฟ is low-class /f/ on a rest key; ฝ, its high partner, is slash on the other pinky. Slash versus A is a two-pinky swap, not a mysterious /f/ problem.

น versus ง is a ring-versus-pinky confusion, not a class confusion. น is O, right ring, top row, above ส on L. ง is quote, right pinky. นาน uses O twice; งาน uses quote once. Stretching the pinky up to O to “help” with น puts two frequent letters on the weakest finger and steals the ring’s job. If the heatmap names KeyO and Quote together, check which finger you actually used, then put น back on the ring.

  1. ง ten times: quote, back to semicolon. Then งาน: D K quote.
  2. ข ten times: minus, back to semicolon. Then ขาว: minus K semicolon.
  3. น ten times: O, back to L (ส). Then นาน: O K O.
  4. ย on P is also right pinky, top row, inward from ว. ยา is P then K. Do not use the ring for P.
  • ง: quote, return to semicolon (ว). งาน is D, K, quote.
  • ข: minus, return to semicolon. ข้าว is minus, H, K, semicolon.
  • น is not a pinky letter. It is O, right ring. If you stretch the pinky to O you steal น from the ring.
  • ฝ slash versus ฟ A: right pinky versus left pinky. Heatmap Slash+KeyA.

Practise the map, not the keys

Do not try to memorise a picture of the keyboard. Instead, let the finger-to-key links form through repetition. ThaiTyper highlights the next key and colours each finger zone, so the map sinks in while you type rather than from staring at a diagram. Turn on the finger guide for your first few sessions, then switch it off and trust your hands. When accuracy drops, turn the colours back on for the heatmap’s hottest finger, not for the whole board.

A practical map session is one zone, not all eight. Left index: ด เ ะ ิ พ อ ถ as a round-trip from F. Right index: ่ ้ ี ั ุ ท as a round-trip from J. Right ring: ส น ใ ต from L, with an honest return after น on O. Stop when the return is automatic. The reaches atom and the home-consonants atom in the skill track are this article in drill form; the guide’s job is to name which finger you are looking at when three keys of one colour light up.

The twelve-skill track is this map in order. home-consonants is the rest keys. reaches is every other base-layer consonant in these columns, including น on O and ข on minus. shift-layer is the opposite-hand chords. tone-marks is the right index on J and H. You do not need a second curriculum. If a zone is cold, open the atom that owns it and pass 90 (SKILL_PASS) before you blame the whole layout.

  • Week one: home-consonants plus the F and J bumps, every session, before anything else.
  • When KeyO is hot, drill the right ring: L (ส) rest, O (น) visit, period (ใ) visit.
  • When KeyH+KeyJ are hot, drill only the right index, ่ ้, no other letters.
  • Turn the finger guide off for a run after SKILL_PASS (90) on that atom; turn it back on if the zone goes dark in your head.

Related guides