コマンドラインインターフェイスは、ユーザーを気にせずに機能を作成、拡張するのが簡単で便利です。
何かを構成する必要があるが、メニューに必要な項目がない場合は、手で構成に入ることができます。設定へのアクセスがない場合は、苦しむ必要があります。
これは、グラフィカルインターフェイスを備えていても、特に開発中に何かが予測されなかった場合に、テキストインターフェイスが非常に役立つ可能性があるという事実に私がもたらしたものです。Flipper Zero
のキーボードに関する考察は、入力方法の最適化についての議論の鈍化を引き起こしました。私もバイクが大好きなので、ここにいくつかのワイルドなアイデアがあります。
スマートソートスクロール
シンボルの単純なスクロールから始めます。
入力されたテキストがあり、テキスト内を移動します-左/右の矢印。シンボルを選択するには、すべてのシンボルの線形リストを上下にスクロールします。
それはかなり厄介です、いくつかの改善を行いましょう。
ユーザーが入力したテキストに基づいて、nグラムの文字に関する統計を収集します。最も単純なケースでは、前の4つのシンボルを取得し、このテトラグラムでの使用頻度でシンボルテーブルを並べ替えます。ユーザーは下にスクロールし始め、目的のシンボルをすばやく見つけます。上にスクロールすると、スペース、前の文字の削除、大文字と小文字の区別、レイアウトなど、固定された一連のサービスコマンドがあります。
狭い範囲のタスクにはそのような方法が適していますが、人にとってはそれでも難しい方法です。希望のサインを見逃さないように集中する必要があり、これは疲れます。
三元システム
しかし、Unicodeで目的の文字範囲の場所を覚えているだけではどうでしょうか。
シンボルコードを入力して確認し、次のコードを入力します。
5つのボタンがあります。1つを使用して入力を確認し、2つ目を使用して最後の桁を消去すると、番号ごとに3つのボタンがあります。上-0、右-1、下-2としましょう。
三元システムに慣れて、必要なコードの範囲を学ぶだけで十分です。利便性には疑問がありますが、この入力方法に慣れるのは、Morseコードを詰め込むよりもはるかに簡単です。ある程度の冗長性があり、制御文字から絵文字まですべてを入力することが可能ですが、100文字以上の文字や句読点を使用する必要がある人はほとんどいません。
2Dスクロール
スクロールをシンボルのいくつかの行に展開し、使用頻度で並べ替えて、開始点からシンボルまでのマンハッタンの距離が長くなるほど、使用量が少なくなるようにします。
それははるかに便利であることがわかり、準備は必要ありません。貧弱で直感的なインターフェースで、小さなディスプレイに最適です。プッシュボタン式の電話では、同様の方法であらゆる種類の特殊文字をダイヤルできます。ただし、サイズを1行に減らすことで、非常に小さな画面でこれを行うことができます。
入力は視覚的に制御する必要があります。その後、長いトレーニングは必要なく(hello Morseコード)、文字の配置は静的である必要があります。そうしないと、短縮ダイヤルが機能しません。これは習慣の問題かもしれませんが、頻繁に使用するボタン自体が指の下にジャンプした場合、脳は適応する可能性がありますが、私たちが持っているものはあります。
あらゆる種類のハフマンコードを思いつくこともできますが、これらは不必要な複雑さであり、拡張の不可能性に加えて、モースコードはその一例です。
投稿で使用されているデモのコードへのリンクは次のとおりです
Pythonライブラリとして含まれている、ternary関数は、オプションで編集用の文字列を受け入れます。ナビゲーションモードを終了するには、上矢印を押します。編集モードでは、文字の3進コードが入力されます(上-0、右-1、下-2、左-最後の桁を消去、Enter-確認)。終了するには、Enterキーを押すと、関数は編集された行を返します。
ロール機能では、すべてがはるかに簡単です-矢印でシンボルを選択し、Enterボタンで確認します。最初の一番上の行:[タブの挿入]、[Shift]、[Backspace]、[Space]、[Line Feed]、[Delete]、[CapsLock]。