Ther erbi (二笔) IME has multiple versions, the most popular is called qingsong (青松). The advantage of this system in contrast to wubi, is that is easy to memorize. The drawback is that you need to know at least the first pinyin character. There are five basic strokes, these are in order: - horizontal (and not-really-horizontal strokes going from left to right) - vertical (with an optional hook at the end) - slanted down-left - slanted down-right (and dots generally) - other (mainly strokes with breaks in them) A character is built up as follows: (a) characters with only one part: 1. the first pinyin character 2. first and second strokes 3. third and fourth strokes 5. fifth stroke (b) left-right / top-bottom / enclosure characters: 1. the first pinyin character 2. first and second strokes of the first part 3. first and second strokes of the second part 4. third and fourth strokes of the second part The keyboard is divided into 6 regions: 1. QWERT (down-left) 2. YUIOP (down-right) 3. ASDFG (vertical) 4. HJKL; (horizontal) 5. ZXCVB (one stroke) 6. NM,./ (other) In each region the second strokes are encoded from left to right, so e.g. Q : down-left + horizontal; D : vertical + down-left, so in this way we can write two strokes with one key. If we want to write only one stroke, the "one stroke" region should be used. Examples: - 田: TGJZ (T[ian] + G [vertical+other] + J [horizontal+vertical] + Z [horizontal]) - 规: GHGT (G[ui] + H [horizontal+horizontal] + G [vertical+other] + T [down-left+down-right]) There are words with multiple characters, here the codes of all characters are distributed. Example: - 万岁: W;SG (W[an] + ; [horizontal+other] + S[ui] + G [vertical+other]) - 毛主席: MQZX (M[ao] + Q [down-left+horizontal] + Z[hu] + X[i]) - 中华人民共和国: ZHRG (Z[hong] H[ua] R[en] G[uo]) Note: my implementation does not support multiple characters. Some common roots are mapped to keys: - Z: metal - X: wood - C: water - V: earth - B: grass - S: sun - D: moon - F: man - L: mouth - U: hand - I: fire Examples: - 木: MX (M[u] + X [wood]) - 增: ZVIG (Z[eng] + V [earth] + I [down-right+down-left] + G [vertical+other] For some characters you don't have to write out the whole code, e.g. ZVIG above can be shortened to ZVI, but you have to "accept" it with the space key. Note: in my implementation, you should write a code only until the right character appears, e.g. writing TGJZ, you see the character changing like this: 他团町田, so if you wanted to type "团", you need to stop at the second character by typing a space. Also, when there are no continuations, the character is accepted automatically, so e.g. ZVI writes 增 without the need of a final space keypress, because there are no other codes starting with ZVI. With only the first character + space key, you can write the following: 起为而人他一大有偶平 安是的分个和就可了 在学成这不你们 [According to the variant, 偶 may be replaced by 哦, 成 by 产, etc.] It should be noted, that there are some keys that don't start a valid pinyin, but there are also characters mapped to these (though they can be written by their normal code, as well): - U: 大 (DKV) - I: 有 (YKD) - V: 这 (ZYPV) Also, the first character of a code cannot be punctuation, so these (;,./) can be used normally. These extra keys are also used in another way (though this may not be standard): some frequent characters can be written by U + one key: 区我很认同以角首头排 则四第化由于及科里倒 总系重种吧建母放难呀 In most cases the mapping is based on the first pinyin character, but there are quite a lot of inconsistencies, to write some common characters. Note: in my version, I preferred this mapping: 却王怎认头以手西种吧 当事都放工很己科里老 主行重同便女名知于四 In the same way, the I and V keys also have mappings - mainly symbols or compounds, it is interesting to experiment with them. Note: in my version there is no multikey combination mapped to I or V. Let's see a sentence: 二笔输入法非常有意思,对吧? EH BQ S;FRR FC FA CFL IYYPSGP,D. UP? The main advantage of this method is that you don't have to choose from lists. This is true most of the time, but there are difficult cases. For example, the 遂 character cannot be differentiated from the 送 character, as both are written by the SIPV code. My implementation handles this by mapping the more frequent 送 to SIP, and the less frequent 遂 to the SIPV code. Even with this, there are problems, e.g. 奶/努 (N,,). Here you still have to select from a list, but fortunately there are not so many of these, and in most cases at least one of the colliding characters is very rare. Here's a list of those characters whose code collide, not counting the combinations with multiple characters: BL;T 哔跸 BTTN 鲍飑 CGHK 蝽帱 CJS 刺曹 CUQA 捶攒 CX.V 杈柽 CYFF 卒痤 CYGH 衰廛 DGJ 盯町 DJJ 酊耵 DKJA 碟耷 DLJA 喋蹀 GGGH 蝈帼蜾 GGJL 蛄罟 GGS 刚刿 GJGF 贡贾 GJT. 毂彀 HCGJ 溃涸漶 HCJA 洪潢 HGJA 蚶蟥 HGJL 蝴岵 JBYR 荠蒺茭 JGFW 蚧骱 JGFY 瞿雎 JJV 基墼 JKS 劂剞 JLKI 蹶噘 JLYR 霁跻哜 JOHS 蹇謇 JTGH 飓龟 JTL 句咎 JTYR 饺鲛鲚 JYM 郊疖 JYST 竟竭 KOGH 窠悝 L/GJ 蠡缧 LCGJ 漯澧 LCXX 淋漤 LCYR 浏漓濂 LGFP 囹蛉 LGIJ 髅蝼嵝瞵 LKTV 硌尥 LL, 另叻 LLK, 雳呖 LYIJ 麟瘘 LYJN 癞瘌 LYYG 凛廪 M/ 马乜 MBGH 苜瞢 MBSK 莫墓 MBYC 蘑蘼 MGBG 瞄蠛 N,, 奶努 PCJN 浦溥 PYTN 庖疱 QCX 渠柒 QGHA 蜻圊 QGIH 蜷蜣 QJT 欺壳 QXFY 樵檎 SBMJ 蔬荪 SCJA 澌滠 SCJN 漱涑 SFJ 什隼 SQJN 簌穗 SUJA 撒撕揲 TUKO 挞闼 WJL 吾軎 XBYI 薪莘 XL, 吸勋 XLA, 嘘噱 XXWN 皙檄 Y/.H 绎驿 YCGK 泱洇 YG.L 贻眙 YG/P 黝蚴 YGKU 崦罨 YGKV 崖睚 YGTP 鸯鹦 YJM 耶鄞鄢 YLM 郢郧 YLYI 噫喑 YTKG 颖颍 YVZS 垣堰 YYW; 庾瘐裒 Z/TN 绉驺 ZEGJ 舯舳 ZGI; 赚嵫 ZGQK 蜘帙 ZGYI 幢蟑嶂幛 ZIMZ 籽孳 ZLAA 嘴趾呲 ZQJK 筑箸 ZTS 旨昝 ZU.; 摺擢 ZUGJ 蛰蜇 ZXYI 梓樟 ZYKG 斋颤 ZYPO 恣戆