このソフトは、minghaiさんによるAndroid用SKKを大幅に改変したものです。 変更した点まとめ
- ソフトウェアキーボードをフリック入力に変更
- ソフトウェアキーボードのライト・ダークモード対応
- Abbrevモード用、数字入力用のソフトウェアキーボードを追加
- 候補絞りこみ・接頭辞接尾辞変換を追加
- 音声入力機能追加
- ハードウェアキーボード使用時はモード表示を追加
- 辞書はSDカードではなく内部ストレージに置く
- 個人辞書機能の追加(変換順記憶・新規登録・辞書メンテナンスツール)
- 複数の辞書が扱えるよう変更
- 設定画面の変更
- ハードウェアキーボード使用時の記号入力機能を追加
- 内部構成の大幅な変更・細かい挙動の変更
日本語入力ソフトSKKのAndroid版です。最新版はAndroid 5以上の端末で動作するはずです。
辞書は最初に起動するとき自動的に解凍されます。「変換辞書を解凍しました」とかいうメッセージが出たら、使うことができるはずです。なおこの変換辞書は、SKK-JISYO.Lをもとに用意したものです。
個人辞書は、自動的に作られます。単語登録したものと、最近変換したものが保存されます。変換候補がないときに自動で登録モードになる点は普通のSKKと同じで、再帰的に単語登録することも可能です。なお、登録モード中はカーソルキーが効きません。また、登録モードで何も入れずにEnterを押すと登録を中止します。
日本語の入力はいわゆるフリック入力です。フリック入力のガイド表示は、設定でオフにしたり、表示位置を上部に固定したりすることもできます。
また、普通のフリック入力に加え、濁音半濁音や小さいカナを入力することも可能です。これはフリック方向を 途中で曲げる ことで行います。濁音は右に、半濁音と小さいカナは左に方向を変えてください。たとえば、「じ」を入力する場合、「さ」のキーをいったん左にフリックし、そのまま右に(上方向に)方向を変えてフリックします。「ぉ」を入力する場合、「あ」のキーをいったん下にフリックし、そのまま左に(右方向に)方向を変えてフリックします。よくわからなければ、ガイド表示を確認してみてください。
ひらがな・カタカナは入力したときに確定し、確定操作は必要ありません。
漢字変換はシフトキーを使って行ないます。基本的には、「単語ごとに変換する」「送りがなを自分で指定する」ということを知っていれば、最低限使えると思います。 シフトキーを押した状態で 入力を始めたときに、変換モードになります。変換すべき単語を入力したらスペースキーを押すと変換します。たとえば、「シフト」「ね」「こ」と入力すると画面には「▽ねこ」と表示され、ここでスペースキーを押すと「▼猫」と表示されるはずです。変換候補が正しければEnterで確定、そうでなければさらにスペースを押して変換というのはふつうのIMEと同じです。また、左右矢印はふだんはカーソル移動ですが、変換中は候補選択になります。
変換すべき単語を入力中、さらにシフトキーを押して入力すると、送りがな指定モードになります。たとえば、「シフト」「ね」「シフト」「る」と入力すると「▼寝る」となるはずです。あとは送りがなが無いときと同じです。
要するに、「漢字にしたい部分の最初文字と、送りがなにしたい部分の最初の文字を、シフトを押した状態で入力する」ということです。
候補選択中に次の文字を入力したり、入力モードを切りかえたりすると、選択中の候補が自動的に確定されます。このため、実際にはEnterキーを押す必要は少ないはずです。
日本語モードで、カタカナ切りかえキーを下フリックすると、音声入力モードになります。「声」のキーを押してからマイクに話せば、それらしく入力されます。「声」キーが青くなっているときが、入力受けつけ中を表します。話し終わると自動的に元に戻るはずです。なお、音声入力受けつけ中は操作できません。
この機能を使いたい場合、明示的に、設定の「アプリ」→「SKK for Android」→「権限」で 「マイク」の権限をオン にする必要があります。 自動で権限設定のダイアログが出たりはしません のでご注意ください(単なる手抜きです)。
Simejiなどで使われるマッシュルームアプリを呼び出すには、スペースキーを長押ししてください。「▽」状態の文字列があれば、起動したマッシュルームアプリに渡されます。また、「▽」状態でない場合、クリップボードに文字列があったらそれがマッシュルームアプリに渡されます。
「ABC」キーを押すと英字入力モードになります。これは普通のqwertyキーボードです。aやcなど一部の文字は、長押しすることでアクセント付きの文字("á"や"ç"など)が入力できます。英字入力モードからは、「123」キーで数字・記号モードになります。英字、数字記号モードからは「JP」キーで日本語モードに戻ります。英字モードでは、シフトキーを使うほか、キーを上向きにフリックしても大文字を入力できます。
日本語の変換単語を入力中は、いちおう単語の候補が表示されます。それ以上の、予測機能や入力支援機能はありません。
日本語モードで、カタカナモードを切りかえるキーを上フリックすると、数字モードになります。ちょっとだけ数字を入力したいときなどに便利です。
日本語モードで、シフトキーを押している間は「ABC」キーが「abbr」キーに変わり、これを押すといわゆるabbrevモードになります。このモードでは、ASCII文字を変換キーとして変換ができます。たとえば、「hello」を変換して「ハロー」と出したりできます。また、連想変換用の辞書を導入すれば、「nhk」を変換して「日本放送協会」を出すような用途にも使えます。
使いかたは普通のSKKとおおむね同じです。基本的には、「単語ごとに変換する」「送りがなを自分で指定する」ということを知っていれば、最低限使えると思います。起動直後はかなモードになっており、この状態はローマ時入力でひらがなが入力されます(確定操作は必要ありません)。そして シフトキーを押しながら ローマ字入力を始めたときに、変換モードになります。変換すべき単語を入力したらスペースキーを押すと変換します。たとえば、「Neko」とタイプすると画面には「▽ねこ」と表示され、ここでスペースを押すと「▼猫」と表示されるはずです。変換候補が正しければEnterで確定、そうでなければさらにスペースを押して変換というのはふつうのIMEと同じです。
変換すべき単語を入力中、さらにシフトキーを押しながら入力すると、送りがな指定モードになります。たとえば、「NeRu」とタイプすると「▼寝る」となるはずです。あとは送りがなが無いときと同じです。
要するに、「漢字にしたい部分の最初のキーと、送りがなにしたい部分の最初のキーをシフトキーを押しながら入力する」ということです。
候補選択中に次の文字を入力したり、入力モードを切りかえたり(後述)すると、選択中の候補が自動的に確定されます。このため、実際にはEnterキーを押す必要は少ないはずです。
qキーでひらがな←→カタカナをトグル、lキーでひらがな→ASCII、Lキーでひらがな→全角英数、というように入力モードが変更できます(標準的なSKKと同じです)。ASCIIモード・全英モードからかなモードに戻るには、初期設定ではIS01の「文字」キーです。設定画面で別のキーに変更することもできます。
また、ひらがなモードで/キーを押すと、いわゆるabbrevモードになります。このモードでは、ASCII文字を変換キーとして変換ができます。たとえば、「hello」を変換して「ハロー」と出したりできます。また、連想変換用の辞書を導入すれば、「nhk」を変換して「日本放送協会」を出すような用途にも使えます。
ひらがなモードの状態でかなモード移行キーを押すと、初期設定では、ASCIIモードに戻るようになっています(次の段落のような理由で、作者が頻繁にASCIIモードに戻して使うためにこうなっています)。これは標準的なSKKの動作とは異なるので、設定で変えることも可能です。
ASCIIモードは、「文字」キー以外は全て入力を素通しします。アプリケーションのショートカットキーやその他のキーボード操作がうまく動かないことがあったら、ASCIIモードにすればたぶん大丈夫だと思います。
小さいキーボードなどでシフトとアルファベットを同時押しするのが大変な場合、シフトキーとアルファベットキーを続けて押すことでシフト扱いにすることができます。いわゆるsticky shift機能です。これはデフォルトではオフなので、必要な場合は設定画面でチェックを入れてください。 IS01のようにもともとsticky shiftの機種でも、日本語入力モードでは設定をオンにしないとstickyにならない ので注意してください。
シフトキーを頻繁に押すのは小指が疲れる、という人はスペースキーをシフトとして使うことができます。このモードでは、スペースキーとアルファベットキーを同時に押すとシフトとして働き、スペースキーを単独で押すと離したときにスペースが入力(あるいは変換)されます。いわゆるSandS機能です。これもデフォルトではオフなので、必要なら設定画面でチェックを入れてください。
なお、sticky shiftとSandSは同時には設定できません。
▽モードで変換キーを入力している途中、ハードキー使用中でも変換キーの候補が表示されます。tabキー・Shift+tabで変換キー候補を前後に動かすこともできます。入力補完のような感じで使ってください。
設定で「キャンセル」キーを設定することができます。
基本的には、単語登録をやめて▽モードに戻ったり、▼モードから▽モードに戻ったりするために使うことができます。ふつうのSKKで言うところのCtrl+Gに相当する操作です。
ハードウェアキーではCtrl+Gなどのキーに設定できますが、ソフトウェアキーボードでは小文字キーを「キャンセル」キーに変更します(小文字キーを使わなくても、フリックで全てのカナを入力することが可能です)。この機能はデフォルトではオフになっています。
また、漢字変換を確定した直後にキャンセルキーを押すと、変換をやり直すことも可能です。
漢字の読みを入力するとき、最後にスペースキーのかわりに「>」を押すと、いわゆる接頭辞として入力できます。複合語を入力するとき、無駄に候補をたくさん出さなくてすむ場合があります。例えば、「ちょう」で変換するとかなり多くの候補が出ますが、「ちょう>」で変換すると、「超」か「長」ぐらいしか出ません。「超長期的」とか「超電磁砲」とか入力するときに便利です。また、何か変換して確定するときにenterのかわりに「>」を押すと、接尾辞入力モードに入ることができます。「し」で入力するかわりに「>し」とすることで、「田中氏」などを簡単に入力できます。
ソフトウェアキーボードでは、カナキーを右にフリックすると「>」を入力することができます。
候補がすごくたくさん出てしまった場合、「:」を押すと絞りこみモードになります。「樹木のジュ」とかそういう指定をするためのものです。例えば、「じゅ」を変換すると候補がたくさん出ますが、このとき「:」を押すと「hint:」と表示されます。ここであらためて「じゅもく」と入力すると候補がひとつに絞られると思いますので、そのまま確定してください。
ソフトウェアキーボードでは、カナキーを左にフリックすると「:」を入力することができます。
設定画面からは、以下の設定が可能です。
- 句読点の種類
- 候補一覧表示のサイズ
- ハードウェアキーボードに関する設定
- かなモード移行キー
- かなモード移行キーをトグル動作にするかどうか
- キャンセルキー
- 候補一覧を表示するかどうか
- シフトキーをstickyにするかどうか
- スペースキーをシフトとして使うかどうか
- ソフトウェアキーボードに関する設定
- ソフトウェアキーボードを使うかどうか
- フリック感度
- フリック入力のガイド表示を使うかどうか
- ガイド表示の表示位置
- 小文字キーの代わりにキャンセルキーにするかどうか
- ダークモード・ライトモードの強制
- キーの間隔
- キーボードの高さ(縦画面、横画面で別個)
- 日本語キーボードの幅(縦画面、横画面で別個)
- 日本語キーボードの表示位置(左、右、中央)
どうやら、SKK for Androidがまれに強制終了してしまう場合があるようです。その場合、設定画面の一番下の「強制終了時のログを表示」というところを押すと強制終了についての情報が表示されますので、なんとかして内容を作者に知らせていただくと、もしかするとバグ改善に役立つかもしれません。
これも設定画面から起動でき、SKKで使う個人辞書の最低限のメンテナンスができます。具体的には、不要なエントリーの削除、テキストファイル辞書からのインポート、テキストファイル辞書としてエクスポート、個人辞書の初期化の四つの操作が可能です。新規に登録したければ普通にSKK使用中にするといいと思います。
起動すると個人辞書の内容一覧が表示され、どれか選択すると削除できます。その他の機能はボタンやメニューから実行してください。
インポートするテキストファイル辞書は、テキスト形式のSKK辞書ファイルを想定しています。つまり一行にひとつのエントリで、「ねこ /猫/ネコ/寝子/」などといった形式です。 文字コードはUTF-8固定です。 なお、文字コード以外に内容のチェックはぜんぜんしていないので、変なファイルを読ませると大変なことになります。よく確認してから使ってください。というか、そもそも使う前にはエクスポート機能で個人辞書のバックアップを取ったほうがいいかもしれません。
エクスポート機能は、テキスト形式の辞書として出力します。これで出力したあと、エディタ等で編集してもう一度インポートする、というようなこともできます。 もしかすると、修正したユーザー辞書がすぐには反映されないかもしれません。その場合、SKKを一旦止めてもう一度起動しなおしてみてください。
これも設定画面から起動でき、SKKで使う辞書の管理ができます。
こちらはユーザー辞書とは異なり、外部からファイルを読みこむか、使わないものを削除するかしかできません。メニューからは、完全に初期化して基本のL辞書だけに戻すこともできます。
新しいファイルを読みこむ操作は、ユーザー辞書のインポートと同様です。ここでも、 文字コードはUTF-8固定 という事実に注意してください。SKK OpenLab等でいろいろSKK用の辞書が公開されていますが、だいたいUTF-8にはなっていませんので、必ず文字コードをチェックし、必要なら変換してください。いわゆる絵文字辞書のように、もとからUTF-8ならそのまま読みこめるはずです。
実は、ここで新しい辞書を追加しても、ユーザー辞書にインポートしても、変換するにあたっては同じことなのですが、ユーザー辞書になんでもかんでも入れてしまうとわけがわからなくなりますので、あまりおすすめしません。公開されているSKK用の辞書を追加したい、などの場合はこちらを使うほうが管理しやすいと思います。
個人的な必要から、キリル文字をjcukenもどき配列で入力するモードを追加して使っていますが、いちおうこのバージョンも置いておきます。必要な人はお使いください。
ソフトウェアキーボードを使う場合、英字入力モードで右から左にスワイプするとキリル文字モードになります。ёはеのキーを二回、ъはьのキーを二回押すと入力できます。また、上フリックで大文字が入力できるのはラテンアルファベットモードと同じです。
ハードウェアキーボードを使う場合、キリル文字モードに切りかえるキーを設定する必要があります。キリル文字モードでのキー配置は、以下のとおりで固定です。キーの数が若干足りないので、キリル文字モードでは一部の記号が入力できません。適当にモードを切りかえて使ってください。
| q | w | e | r | t | y | u | i | o | p | − | alt+− |
|---|---|---|---|---|---|---|---|---|---|---|---|
| й | ц | у | к | е | н | г | ш | щ | з | х | ё |
| a | s | d | f | g | h | j | k | l | / | alt+/ |
|---|---|---|---|---|---|---|---|---|---|---|
| ф | ы | в | а | п | р | о | л | д | ж | ъ |
| z | x | c | v | b | n | m | , | . | alt+. |
|---|---|---|---|---|---|---|---|---|---|
| я | ч | с | м | и | т | ь | б | ю | э |
このアプリでは、漢字変換の辞書を検索する仕組みとしてjdbmライブラリを使っています。
/**
* JDBM LICENSE v1.00
*
* Redistribution and use of this software and associated documentation
* ("Software"), with or without modification, are permitted provided
* that the following conditions are met:
*
* 1. Redistributions of source code must retain copyright
* statements and notices. Redistributions must also contain a
* copy of this document.
*
* 2. Redistributions in binary form must reproduce the
* above copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* 3. The name "JDBM" must not be used to endorse or promote
* products derived from this Software without prior written
* permission of Cees de Groot. For written permission,
* please contact cg@cdegroot.com.
*
* 4. Products derived from this Software may not be called "JDBM"
* nor may "JDBM" appear in their names without prior written
* permission of Cees de Groot.
*
* 5. Due credit should be given to the JDBM Project
* (http://jdbm.sourceforge.net/).
*
* THIS SOFTWARE IS PROVIDED BY THE JDBM PROJECT AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
* NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* CEES DE GROOT OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Copyright 2000 (C) Cees de Groot. All Rights Reserved.
* Contributions are Copyright (C) 2000 by their associated contributors.
*
* $Id: LICENSE.txt,v 1.1 2000/05/05 23:59:52 boisvert Exp $
*/
このアプリには、SKKのL辞書をjdbm形式に変換したものを同梱しています。