お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2014-02-26 07:25:48

tsukemonoumai
新しいメンバ
From: タイ・バンコク
登録日: 2014-02-26

ibusタイ語がMozcを乗っ取ってしまう

皆様はじめまして。よろしくお願いいたします。

ubuntu-13.10-desktop-i386.iso をインストール。
システム言語は英語。

ibus-mozcを入れ、Text Entry Settingから登録。
次にThaiを同様に登録(Thaiはインストールしなくても最初からある)。
これで入力言語が En, Mozc, Thai の3つになりました。
(優先順位もこの並びです。)

この状態からEnを抜き(英字はMozcで入力できるため)MozcとThaiだけにします。
すると件名の問題が起こります。
Mozcを選択してもタイ文字がタイプされてしまうのです。

再びEnを登録すると正常になります。
しかし英字を打つためだけにEnを入れておくのは入力方法の切り替え手間が多くなるだけで、
できればMozcとThaiだけにしておきたいところです。

使用しているキーボードは英語キーボードです。

この現象を解消する方法がありましたらご教示ください。
よろしくお願いいたします。

オフライン

 

#2 2014-02-26 07:49:53

wjn
メンバ
登録日: 2014-02-07

Re: ibusタイ語がMozcを乗っ取ってしまう

こんにちは。

いまの私の手元には13.10(Saucy)がないので勘違いだったら申しわけないのですが、

Ubuntu13.10で使用されている ibus のバージョンでは、
ibusは単なる文字変換用のソフトウェアではなくなり、言語・キーボードレイアウトの切り替えという発想に変更されてしまっています。

そのため、文字変換の必要がない場面(無変換の英数字(ASCII)を入力したいだけの場面)であっても、Englishの入った状態である必要があります。

そこで、くだんの、英語(En)を抜いて日本語(Mozc)とタイだけにしてしまった場合には、日本語(Mozc)から切り替えた先は必然的にタイになるので、英語にはならないと思われます。

最新バージョンのibusを使う限りは、Enを消さないでおく必要があります。

なお、旧来の方法でいくのであれば、例えば、ibusをやめてfcitxをインストールするといった解決策があります。

オフライン

 

#3 2014-02-26 16:11:19

tsukemonoumai
新しいメンバ
From: タイ・バンコク
登録日: 2014-02-26

Re: ibusタイ語がMozcを乗っ取ってしまう

wjn様

お答えいただきましてありがとうございます。
入力言語の切り替えでは一つ前に選択されていたキーボードレイアウトを踏襲してしまうようで、
優先順位について、

En
Mozc
Thai <--

とするとMozcの前のEnでクリアーされるのですが、

En
Thai <--
Mozc

としてしまうとMozcの前でキーボードレイアウトがタイ語になっているので(Mozcを選んでも)タイ語がタイプされます。

iBus Preferences の "Use system keyboard layout" にチェックを入れてもダメなんですね。
(関係ないのかもしれませんが。)

お教えいただいた fcitx を使ってみます。
ありがとうございました。

オフライン

 

#4 2014-02-27 07:21:59

wjn
メンバ
登録日: 2014-02-07

Re: ibusタイ語がMozcを乗っ取ってしまう

こんにちは。

その後、当方でも実験してみたところ(ただし、UbuntuではなくGentooで、なのですが)、ほぼ同様の現象が再現されました。

それで、解決方法を結論からいうと、
/usr/share/ibus/component/mozc.xml
のなかの

コード:

<layout>default</layout>

を変更すればよいようです。

例えば英語キーボードであれば

コード:

<layout>us</layout>

だとか、日本語キーボードであれば

コード:

<layout>jp</layout>

のようにすればよいものだと思われます。

そして、ibus-daemon を再起動する(もしくは、Xを一度ログアウトするなり、OSそのものを再起動する)と、変更が反映されます。

また、iBus Preferences の "Use system keyboard layout" のチェックは外しておいてください。



さて、当方では、Gentooで、ibus 1.5.5 , Mozc 1.10.1390.102-r1 で、(タイ語ではなく)アラビア語を追加して実験し、ほぼ同様の現象が確認されました。
(ただ、システムキーボードレイアウトを使用する設定にすると、アラビア語が入力できませんでした。ただしこれはおそらく意図通りの仕様です)

そこで、Mozcではなく、「Japanese」を追加してみたところ意図通りで、またMozcだけではなくAnthyも追加したところ、Anthyは意図通りに動作しました。

それで、Mozcのほうが日本語のキーボードレイアウトを指定していないからレイアウトが切り替わらないのだと推論したわけです。

Mozcのこの仕様はある意味で適切で、なぜならばユーザが使用しているキーボードは英語かもしれないし日本語かもしれないし、なんなのかわかりませんから。

しかし、ibus 1.5では、文字変換メソッドのオン・オフの切り替えだけではなく、
言語・キーボードレイアウトの切り替えまで行いibus-daemonは常に有効になっている、という設計思想に変更されています。
そのため、Mozcがキーボードレイアウトを指定していないと、直前のレイアウトを(デフォルトのレイアウトだと想定して)引き継ぐことになってしまうようになったのではないでしょうか。
つまり、ibusとMozcの相性が合わなくなったことで、Mozcの仕様上の弊害が顕在化したわけです。

参考: http://jlinuxer.dip.jp/?p=975

オフライン

 

#5 2014-02-27 20:53:46

wjn
メンバ
登録日: 2014-02-07

Re: ibusタイ語がMozcを乗っ取ってしまう

ついでなので、fcitxで、英語、Mozc、タイ語の入力ができるか確認のため試してみましたが、おおむね期待通りに動作しましたので、報告しておきます。

fcitxの場合は、fcitx自身のオン・オフの切替と、入力メソッド(言語・キーボードレイアウト)の切替とは、別々の操作で行えます。
そのため、オフにすれば英語入力、オンにして入力メソッドを切り替えれば、Mozcの日本語も、タイ語も、入力ができました。

オフライン

 

#6 2014-02-27 21:54:49

tsukemonoumai
新しいメンバ
From: タイ・バンコク
登録日: 2014-02-26

Re: ibusタイ語がMozcを乗っ取ってしまう

wjn様

ご検証いただきまして、誠にありがとうございます。

/usr/share/ibus/component/mozc.xml 
上記設定ファイルの調整で、iBusでのタイ語からMOZCに切り替えた時の不具合は解消いたしました。

iBus-Mozc + タイ語(その他の非ラテン系も?)のトラブルということでこのスレッドが他の方々の参考になれば幸いです。

オフライン

 

#7 2014-02-27 22:00:57

tsukemonoumai
新しいメンバ
From: タイ・バンコク
登録日: 2014-02-26

Re: ibusタイ語がMozcを乗っ取ってしまう

ごめんなさい、「スレッド」ではなくて、「トピック」でした。
失礼しました。

オフライン

 

Board footer

Powered by FluxBB