こんにちは、愛するhabrasociety!
革新的または革新的であると主張することなく、Android OS用の別のテキスト入力方式(IME)を紹介します。 最初にそれを思い起こさせてから、それを一般公開しましたが、私はそれを思い浮かべませんでしたが、それを隠すことにうんざりしました。
この投稿は文字通りプログラムの初演であり、現時点までに知っているのはわずか数十人でした。 私は一般大衆が敵意をもってそれを受け入れないことを望みます。
カットの下-説明とリンク。 実装の詳細は説明しません-それらはそれほど複雑ではなく、通常のモバイルキーボードに必要な機能はまだ十分ではありません。
物語
この方法のアイデアは3年前に生まれたもので、現在の8penに似たある種のキーボード(まだWM 2003の下)に出会ったときに、非常に不快に感じました。 私は自分自身で、もっと簡単に、より速く、「好きではない」ことをしたかったのです。しかし、その後、ケースは異なるレイアウトのいくつかの同様の写真を超えませんでした。
8penについてのハブの出版物: habrahabr.ru/blogs/android/107463でその考えを思い出しました。また、Androidで何かを書きたいと思いました。 結果はスクリーンショットで見ることができます。
使い方
領域全体は7つのゾーンに分割されています。上段に3つ、下に3つ、中央に1つです。 各ゾーンには7つの文字があります。 それらの位置はゾーンにも対応しています(上段に3文字、下段に3文字、中央に1文字)。 文字を入力するには、この文字が描かれている領域に指を置き、開始領域内の文字の位置に対応する領域に指をドラッグする必要があります。
説明はわかりにくいので、いくつかの例を追加します。
- 「a」は中央ゾーンにあります。つまり、ストロークは中央から始まります。 中央ゾーン内では、文字「a」が左上にあります。 したがって、必要なストロークは中央から左上隅までです。
- 'g'-左下隅から中心まで。
- '('-左上から右下へ;
- 'n'-右下隅をクリックします。
- スペースバー-中央をクリックします。
通常の「ゾーンからゾーンへ」のストロークに加えて、「ゾーンからどこへも」ストロークが残っています。 レイアウトを切り替えるために使用されます。 レイアウトの名前は、上の3つのゾーンの背景に濃い灰色の文字で書かれています。 たとえば、数字に切り替えるには、キーボードの左上の領域から指をドラッグする必要があります。 逆の切り替えは、まったく同じジェスチャーで実行されます。
現在、ロシア語と英語のレイアウトがあります。 さらに、ウクライナ語とベラルーシ語のアルファベットの欠落文字(右上隅)、エスペラント語(右下隅)、および標準キーボードに存在する発音区別記号付きの文字(ドイツ語とフランス語の場合は明らか)が配置された特別なレイアウトがあります。
レイアウトを作成して、スタイルと音が似ている英語とロシア語のアルファベットの文字を同じ場所に配置しようとしました。 実際のところ、ここで一般的なレイアウトに従って文字を配置することはまだ機能しないため、ユーザーが新しい場所を学習するのを防ぐことはできません。少なくともこの研究は容易になり、混乱を減らすことができます。 それでも、文字は使用頻度に応じて多かれ少なかれ配置されます。母音は中央にグループ化され、よく使用される子音は、隣接するゾーンでシングルクリックまたは短いストロークで使用できます。 レイアウトはおそらく理想からかけ離れたものであることが判明しましたが、それでも最悪ではありません。
標準キーボードと比較した場合の長所と短所
- +特にポートレートモードでは、正しい文字に簡単にアクセスできます。 地下鉄/電車では、これは顕著です。
- +画面上のスペースが少なくなります。
- +キーボードではなく、入力テキストを見て盲目的に入力できます。
- +より多くの文字と標識、およびめったに使用されない標識への高速アクセス。
- -募集の大幅な加速はほとんどありませんが、最初は減速が保証されています。
- -水平モードでは、使用がほぼ不可能です:ストロークが長すぎます。
結論と将来の計画
次のバージョンで実装したい多くの変更があります。
- 自動補完、ユーザー辞書(書き込みおよび読み取り用)、および自動大文字化のサポートを追加します(自分では使用しませんが、機能はほぼ標準なので、実行する必要があります)。
- ConnectBotで使用するaltおよびctrl修飾子を実装します。
- どういうわけか、水平モードで問題を解決し、おそらくパネルを2つの独立したパネルに分割します。
- 私は、標準キーボードでの数字の入力が好きでした。そこでは、指を限界から離すと、いくつかのボタンを備えた追加のパネルが表示されます。 ここで似たようなものを実装できると思います。
このアプリケーションの開発を始めたとき、Android向けの開発経験も、他のシステム用のキーボードのようなものの開発経験もありませんでした。 そのため、いくつかの深刻なリファクタリングにもかかわらず、コードはまだ怖いままです。近い将来、別の大きなリワークを計画しています。
このため、技術的な詳細はまだありません。 興味がある人はgithubでコードを見ることができます。
ここからapkをダウンロードします。
github.com/lxyd/StrokeIME/raw/master/StrokeIME.apk
また、ソースコードは次の場所にあります。
git clone github.com/lxyd/StrokeIME.git
基本的には以上です。 あなたの意見と建設的な批判を聞きたいです。 ご清聴ありがとうございました!
UPD: kapjiのリクエストにより、ロシアのレイアウトのスクリーンショットを追加します。 同時に-明るい色で。