|
181 | 181 | "\n", |
182 | 182 | "First, I select 5 keys on the left and right sides having the strongest finger positions, and assign to these keys the top-scoring arrangement of the 5 vowels and of the 5 most frequent consonants. In prior experiments, vowels on the left got consistently higher scores, so I continue with vowels on the left:\n", |
183 | 183 | "\n", |
184 | | - "#### **E**, T, **A, O, I**, N, S, R, H, L, D, C, **U**, M, F, P, G, W, Y, B, V, K, X, J, Q, Z\n", |
185 | | - "#### E, **T**, A, O, I, **N, S, R, H**, L, D, C, U, M, F, P, G, W, Y, B, V, K, X, J, Q, Z\n", |
| 184 | + "**E**, T, **A, O, I**, N, S, R, H, L, D, C, **U**, M, F, P, G, W, Y, B, V, K, X, J, Q, Z\n", |
| 185 | + "\n", |
| 186 | + "E, **T**, A, O, I, **N, S, R, H**, L, D, C, U, M, F, P, G, W, Y, B, V, K, X, J, Q, Z\n", |
186 | 187 | " \n", |
187 | 188 | " Left: Right:\n", |
188 | 189 | "\n", |
|
225 | 226 | "\n", |
226 | 227 | "I reserve the familiar location of the bottom left row for common command shortcut letters Z, X, C, and V, and place Q and J, the least common letters (after Z) in the hardest-to-reach locations:\n", |
227 | 228 | " \n", |
228 | | - "#### E, T, A, O, I, N, S, R, H, **L, D**, [C], U, **M, F, P, G, W, Y, B**, [V], **K**, [X], [J], [Q], [Z]\n", |
| 229 | + "E, T, A, O, I, N, S, R, H, **L, D**, [C], U, **M, F, P, G, W, Y, B**, [V], **K**, [X], [J], [Q], [Z]\n", |
229 | 230 | "\n", |
230 | 231 | " - - U - - R - - [Q]\n", |
231 | 232 | " I O E A H T S N [J]\n", |
|
2190 | 2191 | " I O E A H T S N J\n", |
2191 | 2192 | " V Z X C L B F M\n", |
2192 | 2193 | "\n", |
2193 | | - "Prior results:\n", |
| 2194 | + " K U O Y W L G B [Q]\n", |
| 2195 | + " H I E A T R S N [J] \n", |
| 2196 | + " V Z X C D M F P\n", |
2194 | 2197 | "\n", |
2195 | | - " J U O Y W S M Q Z\n", |
2196 | | - " H I E A T N R C X \n", |
2197 | | - " P K G D L F B V\n", |
2198 | | - " \n", |
2199 | | - " Q U O Y W S M J Z\n", |
2200 | | - " H I E A T N R C X \n", |
2201 | | - " P K G D L F B V\n", |
| 2198 | + " K Y O U W L G B [Q]\n", |
| 2199 | + " H I E A T R S N [J] \n", |
| 2200 | + " V Z X C D M F P\n", |
| 2201 | + "\n", |
| 2202 | + "Difficult-to-type bigrams with frequencies >1 billion for 2 vowels, 2 consonants, or with K,P,Y,V,Z,X,C (unless equally difficult):\n", |
| 2203 | + "\n", |
| 2204 | + " KPUY KUOY KYOU\n", |
| 2205 | + "\n", |
| 2206 | + " TH 100272945963\n", |
| 2207 | + " ND 38129777631\n", |
| 2208 | + " ST 29704461829\n", |
| 2209 | + " NT 29359771944\n", |
| 2210 | + " NG 26871805511\n", |
| 2211 | + " OU 24531132241 x \n", |
| 2212 | + " IO 23542263265\n", |
| 2213 | + " VE 23270129573\n", |
| 2214 | + " CO 22384167777 \n", |
| 2215 | + " HI 21520845924\n", |
| 2216 | + " IC 19701195496\n", |
| 2217 | + " EA 19403941063\n", |
| 2218 | + " CE 18367773425\n", |
| 2219 | + " CH 16854985236 x x \n", |
| 2220 | + " CA 15174413181\n", |
| 2221 | + " NS 14350320288\n", |
| 2222 | + " HO 13672603513\n", |
| 2223 | + " PE 13477683504 x\n", |
| 2224 | + " EC 13457763533\n", |
| 2225 | + " PR 13378480175 \n", |
| 2226 | + " CT 12997849406 \n", |
| 2227 | + " TR 12006693396 xx x x\n", |
| 2228 | + " LY 11983948242\n", |
| 2229 | + " NC 11722631112\n", |
| 2230 | + " RS 11180732354 x \n", |
| 2231 | + " IE 10845731320\n", |
| 2232 | + " WH 10680697684 \n", |
| 2233 | + " RT 10198055461 xx \n", |
| 2234 | + " PO 10189505383 xx\n", |
| 2235 | + " TS 9516029773\n", |
| 2236 | + " PA 9123652775\n", |
| 2237 | + " AI 8922759715\n", |
| 2238 | + " SH 8888705287\n", |
| 2239 | + " IV 8116349309 xx x x\n", |
| 2240 | + " IA 8072199471\n", |
| 2241 | + " CI 7936922442\n", |
| 2242 | + " VI 7600241898 xx\n", |
| 2243 | + " PL 7415349106 xx xx\n", |
| 2244 | + " EV 7184041787\n", |
| 2245 | + " LD 7122648226\n", |
| 2246 | + " RY 6985436186\n", |
| 2247 | + " MP 6743935008 x x\n", |
| 2248 | + " BL 6581097936\n", |
| 2249 | + " GH 6414827751 xx\n", |
| 2250 | + " K P U Y G R D W Q score: 0.04406521956989739\n", |
| 2251 | + " I O E A H T S N J\n", |
| 2252 | + " V Z X C L B F M\n", |
2202 | 2253 | "\n", |
2203 | | - " K U O Y W L G B Q\n", |
2204 | | - " H I E A T R S N J \n", |
| 2254 | + " K U O Y W L G B [Q]\n", |
| 2255 | + " H I E A T R S N [J] \n", |
2205 | 2256 | " V Z X C D M F P\n", |
2206 | | - " \n", |
2207 | | - " J P O U W S M Q Z\n", |
2208 | | - " H I E A T N R C X \n", |
2209 | | - " G K Y D L F B V\n", |
2210 | | - "\n", |
2211 | | - " K Y O U W L G B Q\n", |
2212 | | - " H I E A T R S N J \n", |
2213 | | - " V Z X C D M F P" |
| 2257 | + "\n", |
| 2258 | + " K Y O U W L G B [Q]\n", |
| 2259 | + " H I E A T R S N [J] \n", |
| 2260 | + " V Z X C D M F P\n", |
| 2261 | + "\n", |
| 2262 | + " TY 6408447994\n", |
| 2263 | + " AY 6128842727 xx x x\n", |
| 2264 | + " EX 6035335807\n", |
| 2265 | + " KE 6027536039\n", |
| 2266 | + " FR 6011200185 xx\n", |
| 2267 | + " AV 5778409728\n", |
| 2268 | + " GR 5548472398\n", |
| 2269 | + " SP 5392724233\n", |
| 2270 | + " RD 5338083783\n", |
| 2271 | + " EI 5169898489\n", |
| 2272 | + " OV 5021440160\n", |
| 2273 | + " BY 4975814759\n", |
| 2274 | + " RM 4938158020\n", |
| 2275 | + " OC 4692062395\n", |
| 2276 | + " RN 4521640992\n", |
| 2277 | + " SC 4363410770\n", |
| 2278 | + " YO 4226720021\n", |
| 2279 | + " CR 4214150542\n", |
| 2280 | + " CL 4201617719\n", |
| 2281 | + " UE 4158448570\n", |
| 2282 | + " EY 4053144855\n", |
| 2283 | + " LS 3990203351\n", |
| 2284 | + " UP 3835093459\n", |
| 2285 | + " HT 3670802795\n", |
| 2286 | + " DS 3560125353\n", |
| 2287 | + " LT 3486149365\n", |
| 2288 | + " PI 3470838749\n", |
| 2289 | + " RC 3422694015\n", |
| 2290 | + " AU 3356322923\n", |
| 2291 | + " CK 3316660134\n", |
| 2292 | + " BR 3145611704\n", |
| 2293 | + " PT 2982699529\n", |
| 2294 | + " PU 2947681332\n", |
| 2295 | + " UI 2852182384\n", |
| 2296 | + " RG 2813274913\n", |
| 2297 | + " TL 2775935006\n", |
| 2298 | + " NY 2760941827\n", |
| 2299 | + " KI 2759841743\n", |
| 2300 | + " RK 2736041446\n", |
| 2301 | + " YS 2730343336\n", |
| 2302 | + " PH 2661480326\n", |
| 2303 | + " MS 2617582287\n", |
| 2304 | + " MB 2544901434\n", |
| 2305 | + " OI 2474275212\n", |
| 2306 | + " RL 2432373251\n", |
| 2307 | + " DR 2409399231\n", |
| 2308 | + " HR 2379584978\n", |
| 2309 | + " TW 2322619238\n", |
| 2310 | + " FT 2302659749\n", |
| 2311 | + " WN 2227183930\n", |
| 2312 | + " EO 2044268477\n", |
| 2313 | + " VO 2004982879\n", |
| 2314 | + " RV 1953555667\n", |
| 2315 | + " NF 1894270041\n", |
| 2316 | + " XP 1885334638\n", |
| 2317 | + " GN 1850801359\n", |
| 2318 | + " SM 1838392669\n", |
| 2319 | + " FL 1830098844\n", |
| 2320 | + " IZ 1814164135\n", |
| 2321 | + " OK 1813376076\n", |
| 2322 | + " NL 1798491132\n", |
| 2323 | + " MY 1753447198\n", |
| 2324 | + " GL 1709752272\n", |
| 2325 | + " OA 1620913259\n", |
| 2326 | + " SY 1602829285\n", |
| 2327 | + " SL 1575646777\n", |
| 2328 | + " PS 1538723474\n", |
| 2329 | + " LF 1507867867\n", |
| 2330 | + " NV 1466426243\n", |
| 2331 | + " NK 1455100124\n", |
| 2332 | + " KN 1450401608\n", |
| 2333 | + " GS 1443474876\n", |
| 2334 | + " DY 1421751251\n", |
| 2335 | + " HY 1412343465\n", |
| 2336 | + " ZE 1402290616\n", |
| 2337 | + " KS 1339590722\n", |
| 2338 | + " XT 1315669490\n", |
| 2339 | + " BS 1292319275\n", |
| 2340 | + " IK 1209994695\n", |
| 2341 | + " CY 1176324279\n", |
| 2342 | + " RP 1173542093\n", |
| 2343 | + " SK 1112771273\n", |
| 2344 | + " XI 1111463633\n", |
| 2345 | + " OE 1089254517\n", |
| 2346 | + " OY 1020190223" |
2214 | 2347 | ] |
2215 | 2348 | }, |
2216 | 2349 | { |
|
2222 | 2355 | }, |
2223 | 2356 | { |
2224 | 2357 | "cell_type": "code", |
2225 | | - "execution_count": 50, |
| 2358 | + "execution_count": 61, |
2226 | 2359 | "metadata": {}, |
2227 | 2360 | "outputs": [ |
2228 | 2361 | { |
2229 | 2362 | "name": "stdout", |
2230 | 2363 | "output_type": "stream", |
2231 | 2364 | "text": [ |
2232 | | - "KPUY 0.04406521956989739\n", |
2233 | | - "KGUY 0.04395091609276311\n", |
2234 | | - "JUOY 0.04395426602422222\n", |
2235 | | - "QUOY 0.04395055650267811\n", |
| 2365 | + "KPUY-B 0.04401907615377155\n", |
| 2366 | + "KPUY-G 0.04406521956989739\n", |
2236 | 2367 | "KUOY 0.04411932034016915\n", |
2237 | | - "JPOU 0.04389704894492415\n" |
| 2368 | + "KYOU 0.044117479486280115\n" |
2238 | 2369 | ] |
2239 | 2370 | } |
2240 | 2371 | ], |
2241 | 2372 | "source": [ |
2242 | 2373 | "data_matrix = SpeedStrengthFlow24x24\n", |
| 2374 | + "# E, T, A, O, I, U N, S, R, H, V X Z C\n", |
| 2375 | + "# L, D, [C], U, M, F, P, G, \n", |
| 2376 | + "# W, Y, B, [V], K, [X], [J], [Q], [Z]\n", |
2243 | 2377 | "\n", |
2244 | | - "# Top score:\n", |
2245 | | - "letters = ['K','P','U','Y', 'I','O','E','A', 'V','Z','X','C', 'G','R','D','W', 'H','T','S','N', 'L','B','F','M']\n", |
2246 | | - "t = score_layout(data_matrix, letters, bigrams, verbose=False)\n", |
2247 | | - "print('KPUY', t)\n", |
2248 | | - " \n", |
2249 | | - "# Previous layouts:\n", |
2250 | | - "letters = ['K','G','U','Y', 'I','O','E','A', 'V','Z','X','C', 'F','R','D','W', 'H','T','S','N', 'L','M','P','B']\n", |
2251 | | - "t = score_layout(data_matrix, letters, bigrams, verbose=False)\n", |
2252 | | - "print('KGUY', t)\n", |
2253 | | - "letters = ['J','U','O','Y', 'H','I','E','A', 'P','K','G','D', 'W','S','M','Q', 'T','N','R','C', 'L','F','B','V']\n", |
| 2378 | + "\"\"\"\n", |
| 2379 | + " K P U Y B R D W [Q]\n", |
| 2380 | + " I O E A H T S N [J]\n", |
| 2381 | + " V Z X C L G F M \n", |
| 2382 | + "\"\"\"\n", |
| 2383 | + "letters = ['K','P','U','Y', 'I','O','E','A', 'V','Z','X','C', 'B','R','D','W', 'H','T','S','N', 'L','G','F','M']\n", |
2254 | 2384 | "t = score_layout(data_matrix, letters, bigrams, verbose=False)\n", |
2255 | | - "print('JUOY', t)\n", |
2256 | | - "letters = ['Q','U','O','Y', 'H','I','E','A', 'P','K','G','D', 'W','S','M','J', 'T','N','R','C', 'L','F','B','V']\n", |
| 2385 | + "print('KPUY-B', t)\n", |
| 2386 | + "\"\"\"\n", |
| 2387 | + " K P U Y G R D W [Q]\n", |
| 2388 | + " I O E A H T S N [J]\n", |
| 2389 | + " V Z X C L B F M\n", |
| 2390 | + "\"\"\"\n", |
| 2391 | + "letters = ['K','P','U','Y', 'I','O','E','A', 'V','Z','X','C', 'G','R','D','W', 'H','T','S','N', 'L','B','F','M']\n", |
2257 | 2392 | "t = score_layout(data_matrix, letters, bigrams, verbose=False)\n", |
2258 | | - "print('QUOY', t)\n", |
| 2393 | + "print('KPUY-G', t)\n", |
| 2394 | + " \n", |
| 2395 | + "\"\"\"\n", |
| 2396 | + " K U O Y W L G B [Q]\n", |
| 2397 | + " H I E A T R S N [J] \n", |
| 2398 | + " V Z X C D M F P\n", |
| 2399 | + "\"\"\"\n", |
2259 | 2400 | "letters = ['K','U','O','Y', 'H','I','E','A', 'V','Z','X','C', 'W','L','G','B', 'T','R','S','N', 'D','M','F','P']\n", |
2260 | 2401 | "t = score_layout(data_matrix, letters, bigrams, verbose=False)\n", |
2261 | 2402 | "print('KUOY', t)\n", |
2262 | | - "letters = ['J','P','O','U', 'H','I','E','A', 'G','K','Y','D', 'W','S','M','Q', 'T','N','R','C', 'L','F','B','V']\n", |
| 2403 | + "\n", |
| 2404 | + "\"\"\"\n", |
| 2405 | + " K U O Y W L G B [Q]\n", |
| 2406 | + " H I E A R T S N [J] \n", |
| 2407 | + " V Z X C D M F P\n", |
| 2408 | + "\n", |
| 2409 | + " K U O Y G D L B [Q]\n", |
| 2410 | + " H I E A R T S N [J] \n", |
| 2411 | + " V Z X C W M F P\n", |
| 2412 | + "\"\"\"\n", |
| 2413 | + "letters = ['K','U','O','Y', 'H','I','E','A', 'V','Z','X','C', 'W','L','G','B', 'R','T','S','N', 'D','M','F','P']\n", |
2263 | 2414 | "t = score_layout(data_matrix, letters, bigrams, verbose=False)\n", |
2264 | | - "print('JPOU', t)" |
| 2415 | + "print('KYOU', t)\n" |
2265 | 2416 | ] |
2266 | 2417 | }, |
2267 | 2418 | { |
|
2355 | 2506 | { |
2356 | 2507 | "cell_type": "markdown", |
2357 | 2508 | "metadata": { |
2358 | | - "colab_type": "text", |
2359 | | - "id": "sdl3lLOfDzT8" |
| 2509 | + "colab_type": "raw", |
| 2510 | + "id": "7lqP4bDvDzT8" |
2360 | 2511 | }, |
2361 | 2512 | "source": [ |
2362 | 2513 | "### Add punctuation keys and number keys\n", |
2363 | 2514 | "\n", |
2364 | | - " # 1 2 3 4 5 6 7 8 9 0 < >\n", |
| 2515 | + " K P U Y ' \" G R D W Q\n", |
| 2516 | + " I O E A , . H T S N J\n", |
| 2517 | + " V Z X C ( ) L B F M\n", |
2365 | 2518 | "\n", |
2366 | | - " Q I O U ' \" D N L Y Z\n", |
2367 | | - " P H E A , . T S R C X \n", |
2368 | | - " B J K G ( ) M F W V\n" |
2369 | | - ] |
2370 | | - }, |
2371 | | - { |
2372 | | - "cell_type": "markdown", |
2373 | | - "metadata": { |
2374 | | - "colab_type": "raw", |
2375 | | - "id": "7lqP4bDvDzT8" |
2376 | | - }, |
2377 | | - "source": [ |
2378 | | - "Shift to access similar-looking characters above the numbers, and swap the Backspace and Caps lock keys:\n", |
| 2519 | + "The Shift key accesses characters (top) that look similar to the numbers:\n", |
2379 | 2520 | "\n", |
| 2521 | + " ! = ? + $ @ ^ & % *\n", |
| 2522 | + " 1 2 3 4 5 6 7 8 9 0\n", |
2380 | 2523 | "\n", |
2381 | | - " ~ ! = ? + $ @ ^ & % * < >\n", |
2382 | | - " # 1 2 3 4 5 6 7 8 9 0 [ ] Caps\n", |
| 2524 | + "and accesses related but less common punctuation (top):\n", |
| 2525 | + "\n", |
| 2526 | + " ` \\ ; : { } | _\n", |
| 2527 | + " ' \" , . ( ) / -\n", |
2383 | 2528 | "\n", |
2384 | | - " Tab Q I O U ' \" D N L Y Z - /\n", |
2385 | | - " Back P H E A , . T S R C X Enter\n", |
2386 | | - " Shift B J K G ( ) M F W V Shift\n", |
| 2529 | + "Swapping the Backspace and Caps lock keys completes the layout:\n", |
2387 | 2530 | "\n", |
2388 | | - " Ctrl Fn Cmd Alt Space Alt Ctrl Arrows\n", |
2389 | 2531 | "\n", |
| 2532 | + " ~ ! = ? + $ @ ^ & % * < >\n", |
| 2533 | + " # 1 2 3 4 5 6 7 8 9 0 [ ] Caps\n", |
2390 | 2534 | "\n", |
2391 | | - "Shift to access less common, but similar-meaning punctuation (top):\n", |
| 2535 | + " Tab K P U Y ' \" G R D W Q - /\n", |
| 2536 | + " Back I O E A , . H T S N J Enter\n", |
| 2537 | + " Shift V Z X C ( ) L B F M Shift\n", |
2392 | 2538 | "\n", |
2393 | | - " ~ ` \\ ; : { } | _\n", |
2394 | | - " # ' \" , . ( ) / -\n" |
| 2539 | + " Ctrl Fn Cmd Alt Space Alt Ctrl Arrows\n" |
2395 | 2540 | ] |
2396 | 2541 | }, |
2397 | 2542 | { |
|
0 commit comments