ibusでAlt+全角/半角キーがIMのOn/Offキーとして機能しない

Bug #542698 reported by midspeclowload
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Japanese Kaizen Project
Fix Released
Wishlist
Unassigned

Bug Description

- 問題の再現方法:
106/109キーボードの(少なくとも)一部を利用した10.04環境において、Alt + 全角/半角キーを押下する。

- 期待される結果:
IM(ibus)がOn/Offトグルする。

- 実際の結果:
IM(ibus)がOn/Offトグルせず、反応がない。全角/半角キー押下はOn/Offトグルする。

- Notes:
ibusの初期設定は切り替えのショートカットが
”Control+space; Zenkaku_Hankaku; Alt+Zenkaku_Hankaku; Alt+grave; Hangul; Alt+Release+Alt_R”
となっていますが、Alt + 全角/半角キー押下時に送出されるキーコードは Alt+Kanji でした。

- 解決策:
Alt + Zenkaku_Hankaku に追加で、Alt + Kanji をデフォルトアサインに追加するべき。

- Memo:
スクリーンショットはLucid Beta-1のものです。
http://4.bp.blogspot.com/__HmVmS9skc8/S6TTUl_LuXI/AAAAAAAAAZg/zN_cGI62O2k/s1600-h/ibus-setup.png

Revision history for this message
Fumihito YOSHIDA (hito) wrote :

ここで言う「Kanji」キーとはどのキーのことを指しているでしょう?

1. 「1/!の左隣にあるキー」:そのキーが生成するのは「Zenkaku_Hankaku」キーコードです。また、「Alt+Zenkaku_Hankaku」相当の操作はWindowsなどの他OSでの標準操作のため、これを除去するべきではないように思います。

2. それ以外:お使いのキーボードは「通常の日本語106キーボード」とは違うものである可能性があります。

Changed in ubuntu-jp-improvement:
status: New → Incomplete
Revision history for this message
midspeclowload (midspeclowload) wrote :

1.の方です。
http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%BC%E9%85%8D%E5%88%97#106.E3.82.AD.E3.83.BC.E3.83.9C.E3.83.BC.E3.83.89
でみると109配列と同じです。
[Alt]キーと[半角/全角]キーを同時に押すとZenkaku_Hankakuキーコードは発生していないと思います。
ibus-setupのショートカットキーで[Alt]と[半角/全角]を同時に押すとAlt+Kanjiになります。
xevでも下記のような出力になっています。
私の設定が悪いのでしょうか。確認すべき設定ファイル等があればご指示ください。
---------------------------------------------------------------------------------------
KeyPress event, serial 34, synthetic NO, window 0x3c00001,
    root 0x10a, subw 0x0, time 53616, (168,-14), root:(1180,8),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 34, synthetic NO, window 0x3c00001,
    root 0x10a, subw 0x0, time 53895, (168,-14), root:(1180,8),
    state 0x18, keycode 49 (keysym 0xff21, Kanji), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x3c00001,
    root 0x10a, subw 0x0, time 54023, (168,-14), root:(1180,8),
    state 0x18, keycode 49 (keysym 0xff21, Kanji), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x3c00001,
    root 0x10a, subw 0x0, time 54037, (168,-14), root:(1180,8),
    state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Revision history for this message
midspeclowload (midspeclowload) wrote :

> ここで言う「Kanji」キーとはどのキーのことを指しているでしょう?
1.の方を意図しています。
キーボード配列は
http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%BC%E9%85%8D%E5%88%97#106.E3.82.AD.E3.83.BC.E3.83.9C.E3.83.BC.E3.83.89
の109配列と同じです。

私の環境の設定がおかしいのでしょうか。確認すべきファイルがあればご指示ください。

ibus-setupのショートカットの設定画面で[Alt]キーと[半角/全角]キーを同時に押すと
"Alt+Kanji"になります。
xevの出力は下記のとおりです。
-------------------------------------------------------------------------------------------------
KeyPress event, serial 34, synthetic NO, window 0x3c00001,
    root 0x10a, subw 0x0, time 53616, (168,-14), root:(1180,8),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 34, synthetic NO, window 0x3c00001,
    root 0x10a, subw 0x0, time 53895, (168,-14), root:(1180,8),
    state 0x18, keycode 49 (keysym 0xff21, Kanji), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x3c00001,
    root 0x10a, subw 0x0, time 54023, (168,-14), root:(1180,8),
    state 0x18, keycode 49 (keysym 0xff21, Kanji), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x3c00001,
    root 0x10a, subw 0x0, time 54037, (168,-14), root:(1180,8),
    state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

-------------------------------------------------------------------------------------------------

Revision history for this message
Fumihito YOSHIDA (hito) wrote :

問題の所在が不明なので、少し整理させてください。
もともとのバグレポートとしては、以下のどれが主な経緯でしょう

a) 106キーボード環境でAlt + Zenkaku_Hankaku キーを押したが、このキーアサインが機能しなかった(Zenkaku_Hankaku単体では機能した)。そこで設定を見たところ、「Alt + Zenkaku_Hankaku」と登録されていた。これは間違いだと思うので、「Alt + Kanji」に変更したら機能した。

b) 106キーボード環境でAlt + Zenkaku_Hankaku キーは機能している。Alt + Zenkaku_Hankakuが入っている理由が不明。Alt + Kanji の間違いだと思った。

c) それ以外。

a) の場合は、「Alt + Kanji」への置き換えではなく、*追加*が解決策になると思います(というのは、106キーボードで出ないアサインであっても他の、日本では使われていないレイアウトで出せる可能性が常にあるからです)。

キーボードドライバの挙動によって変化する可能性があるので(というか以前はそれが出ていた気がする)、置き換えはリスキーです。

b) なら、無視してください。おそらく106キーボード用の設定ではありません。危険なので除去は困難だと思います。

# おそらくAlt-GraveでZenkaku_Hankakuが出てくるキーボードにおいて、Alt + Zenkaku_Hankaku が生成されているケース対策とかそんな気がしなくもないところなので。

Revision history for this message
midspeclowload (midspeclowload) wrote :

キーボードはこれの色違いです。(裏にMODEL No.l:SMK-8851とありました。)
http://www.sanwa.co.jp/product/syohin.asp?code=SMK-8851

Revision history for this message
midspeclowload (midspeclowload) wrote :

お手数をかけて申し訳ありません。
正確には106ではなく、109配列でした。
ですので a)の s/106/109/ 。
おっしゃるとおり「Alt + Kanji」への置き換えではなく、*追加*が最善と思います。

参考までに私が所有している下記のキーボードはすべてAlt + Kanjiの方になります。
正確にモノがわかるのは
1.上記のSMK-8851
2.メカニカル戦隊カチカチレンジャー CK-M108FB
3.SKB-SL06BK http://202.221.210.20/product/syohin.asp?code=SKB-SL06BK
です。

Fumihito YOSHIDA (hito)
summary: - ibusの初期設定:切り替えのショートカットAlt+Zenkaku_Hankakuは意味がないのでは?
+ ibusでAlt+全角/半角キーがIMのOn/Offキーとして機能しない
description: updated
Changed in ubuntu-jp-improvement:
importance: Undecided → Medium
status: Incomplete → Triaged
description: updated
Revision history for this message
Fumihito YOSHIDA (hito) wrote :

OK. 頂いた情報を元に本文を書き換えました。

念のため、システム -> 設定 -> キーボードの設定のレイアウトタブで、「レイアウト」と「キーボードの型式」がどうなっているかを教えてください。

Memo: https://bugzilla.redhat.com/show_bug.cgi?id=491042 あたりを見ると、その当時のキーボードドライバからはAlt + Zenkaku_Hankakuが出ていたことは(たぶん)間違いない。Alt + Kanjiが出ることがexceptionかも。

Fumihito YOSHIDA (hito)
Changed in ubuntu-jp-improvement:
importance: Medium → Wishlist
Revision history for this message
midspeclowload (midspeclowload) wrote :

「レイアウト」:日本
「キーボードの型式」:Generic 105-key (Intl) PC
念のためスクリーンショットです。
http://1.bp.blogspot.com/__HmVmS9skc8/S6T6iyobPFI/AAAAAAAAAZo/_I5vo2JIQZo/s1600-h/kebord-setting.png

Revision history for this message
Ikuya Awashiro (ikuya-fruitsbasket) wrote :

Alt+Zenkaku_Hankakuは8.04まで遡ったものの動作せず(よって他のプラットフォーム用であることも考えられる)、SCIMやIIIMF(ATOK X3)ではAlt+Kanjiという設定はなく、キーの役割から考えても半角/全角でIMの切り替えを行うのが妥当であろうことを考慮すると、デフォルトで追加すべき強い必然性は感じられません。よって、wishlistにしておくのが妥当だと思われます。

Revision history for this message
midspeclowload (midspeclowload) wrote :

この件、nattyのibus (1.3.9-0ubuntu3) で解決されていました。

upstreamで2010/10/21に修正されたものがそのまま降りてきたのでしょうか。
https://github.com/ibus/ibus/commit/15db48fc217cb6e91c91e1819f2347dfdac905e0

修正を行われたfujiwaratさんに感謝いたします。

Fumihito YOSHIDA さん、Ikuya Awashiro さんご対応ありがとうございました。

Changed in ubuntu-jp-improvement:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.