私はロボットです。長方形のレイアウトが簡単なため、このキーボードを購入しました。
~` !1 @2 #3 $4 %5 ^6 &7 *8 (9 )0 _- +=
tab Qq Ww Ee Rr Tt Yy Uu Ii Oo Pp {[ }] \|
Aa Ss Dd Ff Gg Hh Jj Kk Ll :; "' [-enter-]
Zz Xx Cc Vv Bb Nn Mm <, >. ?/
[========= space =========]
人間のテキストを印刷するには、マニピュレーターが解釈できるコマンドに変換する必要があります。左のマニピュレーターがShiftキーの上に移動します。私の右のマニピュレーターは、最初、~キーの上に置いた。マニピュレーターが理解できるコマンドは次のとおりです。
S : press the shift key
s : release the shift key
L : move the right manipulator left by 1
R : move the right manipulator right by 1
U : move the right manipulator up by 1
D : move the right manipulator down by 1
P : press the key under the right manipulator
p : release the key by the right manipulator
ASCIIメッセージをコマンドのリストに変換するコードを記述します。入力には、95個の印刷可能なASCII文字をいくつでも含めることができます。おそらくTABと改行文字も。出力は、マニピュレータへのコマンドのリストになります。
たとえば、と入力するHello World!
と、コマンドは次のようになります。
SRRRRRRDDPp
sLLLUPp
RRRRRRDPp
Pp
UPp
LLLLDDDPp
SLLLUUUPp
sRRRRRRRPp
LLLLLPp
RRRRRDPp
LLLLLLPp
SLLUUPp
各メッセージを出力する前に、マニピュレーターを初期状態にリセットします。
適切なプログラミングによって回避すべきいくつかの機械的危険があります:
LRUD
印刷時の移動()は許可されていません(P
)が実行さ- マニピュレータの妨害はありません。マニピュレータが使用されている場合(
S
またはP
)、このマニピュレータの次のコマンドは切断されている必要があります(s
またはp
その逆)、および 不必要なシフトはありません。各2つのシフト(
s
、S
)コマンドの間に、P
コマンドしたがって、印刷するには
~~
、コマンドSPpPp
は有効ですが、SPpsSPp
はありません範囲外への移動不可:移動コマンドは、右マニピュレーターを初期位置の右に13スペースまたは4スペース(または任意のスポットを上または左)に移動しようとするべきではありません。
その他の注意事項:
- 無効化されたキーを押す(コマンドシーケンスのような
DDPp
)を押すと、キーが押されなくなり、許可されます。 - Shift+ Tabを押しても効果はありませんが、Shift+ SpaceとShift+ Enterを押しても効果はありません。Shiftます。
- スペースバーの任意の場所を押すと、 Enterキーの、同じ効果があります。
- 出力の空白キーは意味がありませんが、美しい方法でフォーマットするために使用できます。
Pp
?私の知る限り見ることができるように、これらは常に単一のアクションともないP
か、p
自分自身で表示されます。