The Kedmanee keyboard has 'logic' galore:
For the rest, here are some mnemonics, mostly based on a crazed logic:
Some logic is easy to see. บ is oft but a 3-sided box - so '[' for บ is clear. Give ']' a dangling tail, and behold a ล. Sara u is an inverted '6', so '6' for อุ. For English, shift makes big, so อู is 'shift 6', i.e. '^'. Number '๐' is like 'Q', so 'Q' on the left is for ๐. Thai ๑ is like '@', so yank it over there ('shift 2'). ๒๓๔ follow on, taking 'shift 3', 'shift 4' and 'shift 5'. Finish the shifted top row with digits, so ๕๖๗๘๙ are 'shift 8' i.e. '*', 'shift 9' i.e. '(', 'shift 0' i.e. ')', '_' and '+'.
A ฐาน is really just a fancy box to stand something on, so put ฐ on the fancy '{', same key as box '[' for บ.
Of ชีวิต a cat has ๙, so '=' for ช (same key as '+' for ๙). Broken-backed ช is now placed. Straight-backed ข goes before, sitting on '-'. When writing, go left on top and get จ on '0'. OK J0e?
Raise it and shrink it - apostrophe for ง. Alas, but a faint resemblance lets ';' give ว.
In English, final 's' is often found in clusters; likewise initial ห in Thai. As Grecians will tell you, initial /s/ gives /h/, so 's' yields ห. (A sceptic would say, 'Thais name English 's' and 'h' alike (saying them เอด), and were simply khonfused.') ส is like ล, so let 'l' give you ส. ศ is the other common /s/, so let 'L' give ศ. (sor khor is 'L'.) As Sanskritists know, /k/ leads to ษ (by RUKI), so let 'K' give ษ. (Do I hear some cry ยักษ์?) To complete our cluster of sors, put ซ on the right - ':' yields ซ. Is ฆ snake-headedly sinuous enough to deserve 'S'? A rattler with built-in bell, perhaps.
'J' is for 'jot', so 'j' for little mai ek (อ่).
'J' is for 'join', in English a plus, so 'J' for mai chattawa (อ๋).
'H' is for 'half', so 'H' for อ็ yields half the length.
Mai tho is commoner by far, so 'h' for อ้ - use 'h' in the middle!
Mai tri accompanies them above, so 'U' for อ๊.
Does our baby at the keyboard have indigestion? Perhaps it is time to burp you, or rather 'birpya': 'b' gives อิ; 'i' gives ร; 'r' gives พ; 'p' gives ย and 'y' gives อั.  But Thai has another /y/, so 'P' gives ญ. As Sanskritists know, ณ goes with ร, so put it on the same key - 'I' gives ณ. (As Latinists know, 'y' is an extra vowel - so also is อั, reinforcing the logic.)
Now, in alphabetical order, it's อะ then อั, so thus on the keyboard - 't' gives อะ. In Pali, Sanskrit ฑ yields the /l/ of นาฬิกา. (For s'port, we have กรีฑา and กีฬา.) Songsters sing 'naarikaa', so let 'R' give ฑ. Rare ฬ is exiled rightwards (>), i.e. '>' gives ฬ.
'D' is for 'deed', and ก for การ, so 'd' for ก. /d/ is displaced (to the right), so 'f' for ด. We need a hard working vowel, so 'g' in the middle for เอ. Then 'dfgh' scramble and shift to give us a เด็ก (gfHd).
Does /f/ go 'fa'? 'a' is for for ฟ, but ฝ goes far right (in shape and position) and uses '/'. The other zigzagger on your lips is ผ - use 'z'.
To use 'D' for ฎ would be too simple! Displace to 'E' for ฎ, and let 'D' give ฏ. Likewise, busily displace to 'u' for อี.
A Russian script 't' looks like an 'm', so 'm' is for ท. /m/ is displaced, so ',' (comma)
on its right for ม.
Keep the pattern, displace 'n' (next is 'o'), so 'o' is for น. And as for โ, can one not see that this is an 'F'?
Karan makes a consonant a big Nothing, so 'N' for อ์.
/ue/ is next to /u/ (think Wat Tuek spelt Wat Tuk), so '7' for short อึ. Long /ue/ (อื) is heavy, so drop down to 'n', a 'u' turned turtle (tuetle?).
Aye, what shall we use for ไ? Why 'w'! ใ turns its head to a dot, so '.' for ใ.
Ever noticed Indian names in 'Chh-'? That's just ฉ, a real big 'C'.
To begin with a vowel, Thai needs อ. Vowel begins with 'v', so 'v' for อ. ฮ is an enlarged อ, so make it big 'V'.
Remember SPQR, senatus populusque romanus? 'Q' is for 'and', so 'q' is for ๆ 'ditto'. While in matters Roman, 'k' likes its 'a' (e.g. kalendae 'calends' and 'k' itself), so let 'k' yield อา (lak khang). While า is OK, lakkhangyao is only for ฤ (exiled to 'A'), so hide the long one (ๅ) on '1'. ฃ and ฅ are not needed, so hide them on wandering '\'/'|'.
ภ phor samphao - looks like a job for '4'. Loop-flipped ถ goes beside, sitting on '5'.
แ is like เ, Thai handwritten 'c' is like 'e' - so 'c' for แ.
The logic for ป is unknown - 'x' marks the spot! 'e' is a vowel looking for a job - let it yield อำ.
Punctuation is available - quote (QWERTY ") for a statement ('.')? To query (ไหม) use 'M'.
Still unpositioned is letter number 4, ค in Thai, not 'd' as in English. ('d' is gone to ก.) '4' is gone to ภ, so double up and put ค on '8'. Put the other non-ด beside, '9' for ต. Both start inside, and curl over and down.
That exhausts my memory tricks. For other symbols, scan the top row, then look at the two sides, and finally the bottom row. In the midst of this quad lurks a rare tree - 'G' for ฌ. Shade for hardworking 'g' for 'เ'?