【プラグイン】日本語入力プログラムの切り替え(更新)

Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by miyako on 2019-06-28, 1:01 pm

以前にMacの日本語入力プログラム(ことえり)をコントロールするプラグインを公開したのですが,使用しているAPIがチョット古いので,作り直すことにしました。

解説

古いプラグインは,Text Input ServiceというAPIで入力サービスを読み書きしていました。このAPIは,入力モードの切り替えだけでなく,インストールやアンインストールなど,システム環境設定レベルの強力なことができるものです。たとえば,英数モードを強制したい場合,英数を除く入力モードを無効にし,その時点で有効なアスキー互換モード(U.Sとか英数とか)を直接指定するようなローレベルの操作をします。

新しいプラグインでは,Text Input ContextというAPIを使用しました。こちらは,いろいろな入力メソッドが開発されることを想定し,プロトコル(共通のメソッド名)やイベント通知からなる抽象的でハイレベルなコマンド体系になっています。モードの切り替えは「日本語・ことえり・ひらがな」などとダイレクトに指定するのではなく,入力が想定されている「ロケール」のリストを渡すようになっています。デフォルトは「ロケールなし」であり,システムで有効にされている入力モードすべて使用できる状態です。「日本語」ロケールを限定すれば,日本語に必要のないモードが選択不可になります。英数モードを強制するには,専用のロケールを指定します。

古いプラグインは,ローレベルの直接的なAPIであるためか,メニューバー・キーボート・タッチバーの同期が外れることがありました。新しいプラグインは,システムのサービスに問い合わせる間接的な呼び出しなので,そういったことが起きないようです。

https://miyako.github.io/2019/06/27/4d-plugin-text-input-context.html

miyako

投稿数 : 372
登録日 : 2016/07/05

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by 中原田 on 2020-05-08, 5:33 pm

こちらのプラグインを利用させていただこうとテスト用のストラクチャーを作ってみたのですが、
メソッドを通ってメニューの入力が切り替わっていてもコマンドの使用方法が間違っているのか実際の入力が変わらないという現象が起こっています。
アドバイスなどいただけませんでしょうか?よろしくお願いいたします。

以下がテストの際に使用したメソッドです。
【プラグイン】日本語入力プログラムの切り替え(更新) Aacaoa10

中原田

投稿数 : 2
登録日 : 2020/05/07

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by miyako on 2020-05-09, 5:53 pm

いつの間にか,動かなくなっていたみたいですね・

Appleのメインスレッドチェッカーを参考に,APIの呼び出しを書き直してみました。

https://github.com/miyako/4d-plugin-text-input-context/releases/tag/2.1.0

miyako

投稿数 : 372
登録日 : 2016/07/05

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by 中原田 on 2020-05-11, 10:04 am

素早い対応ありがとうございます。

無事動くようになりました。

中原田

投稿数 : 2
登録日 : 2020/05/07

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by osaru on 2020-06-01, 5:31 pm

【プラグイン】日本語入力プログラムの切り替え(更新) Aaa10
【プラグイン】日本語入力プログラムの切り替え(更新) Bbb10

お世話になります。
Code:

 $source_t:=_o_Get input source
 SET INPUT SOURCE ($source_t)

取得も設定もv16.6で正常に動作するのですが、起動時に上記のエラーが必ず表示されます。
当面v16での運用が必要なため、こちらのエラーを表示されないようにすることはできないでしょうか?

osaru

投稿数 : 61
登録日 : 2017/08/14

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by miyako on 2020-06-01, 7:01 pm

Input sources listはコレクション型を返します。

https://github.com/miyako/4d-plugin-text-input-context/blob/master/text-input-context/manifest.json

なので,4D v16 R6以降でないとダメです。

https://doc.4d.com/4Dv17/4D/17.4/Collections.201-4881814.ja.html

miyako

投稿数 : 372
登録日 : 2016/07/05

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by miyako on 2020-06-01, 7:04 pm

完全に保証外ですが,コマンドを絶対に使用しないのであれば,

manifest.json

を改造して,C(コレクション)とか J(オブジェクト)のところを別の型にしたらどうでしょう?

(削除すると序列がずれるので危ないです)

クラッシュしても知りませんけど・・・

miyako

投稿数 : 372
登録日 : 2016/07/05

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by osaru Yesterday at 9:00 am

ありがとうございます。
miyako wrote:manifest.jsonを改造して,C(コレクション)とか J(オブジェクト)のところを別の型にしたらどうでしょう?
Tに変えたらエラーメッセージ無しに起動できるようになりました。本チャン環境にてテストしてみたいと思います。

osaru

投稿数 : 61
登録日 : 2017/08/14

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by osaru Today at 10:19 am

MacOS 10.9.5(Mavericks)4D v16.6環境で正常にIME制御稼働することを確認しました。ありがとうございました。

osaru

投稿数 : 61
登録日 : 2017/08/14

トップに戻る Go down

【プラグイン】日本語入力プログラムの切り替え(更新) Empty Re: 【プラグイン】日本語入力プログラムの切り替え(更新)

投稿 by Sponsored content


Sponsored content


トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可