人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linuxで[ひらがな]キーをAlt化できますか?

~/.Xmodmap ファイルを作成し、有効にしました。
----
!! ひらがなキーをAltにする
keycode 101 = Alt_R
add mod1 = Alt_R
----

しかしながら、[ひらがな]キーを押すと、フリーズ(の様に見える)してしまいます。

1. gedit起動
2. (本物)Alt-F 押下(ファイルメニュー)
O (ファイル選択ダイアログ表示)
Esc (キャンセル)
で本物Altキーなら問題ないことを確認
3. ひらがな-F 押下するとファイルメニューがプルダウンされる

ところが、その先はどんなキーも使えなくなります。
[Esc]も[ひらがな]キーも含め、何キーを押しても全く動きません。

マウスには反応し、[開く]をクリックすればファイル選択ダイアログが表示されますが、
その先はクリックも効かなくなります。
キャンセルボタンやアプリ終了ボタンをクリックしても働きません。

[ひらがな]キーが押されっぱなしの状態ではないかと疑っています。

[ひらがな]キーを正しくAlt化するにはどうすれば良いのでしょうか?

●質問者: givemesolut
●カテゴリ:コンピュータ
✍キーワード:ADD Linux ひらがな アプリ キャンセル
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● kn1967a
●10ポイント

できない。

◎質問者からの返答

意外と不便なOSですね。


2 ● bg5551
●20ポイント

私もやってみましたが、無理でした。

◎質問者からの返答

貴重な情報ありがとうございます。

残念ですねえ...


3 ● mjy
●30ポイント

私は普段 Escape に割り当てていますが、Alt にすることも可能です。

実際に確認しています。

! 関連する行

clear Mod1

keycode 101 = Alt_L

add Mod1 = Alt_L Alt_R

これでうまくいかない場合は、xev コマンドを実行し問題のキーを押してみて下さい。

入力されたイベントが確認できます。

エミュレータで動かしていらっしゃるようなので、X までイベントが正しく伝わっていないのかもしれません。

なお、xmodmap コマンドでカスタマイズする方法は古いものです。現在は XKB を使うようですが私はまだ試していません。

◎質問者からの返答

ありがとうございます。

xev で調べると

KeyPress event keycode 101 (keysym Hiragana_Katakana)

KeyRelease event keycode 101 (keysym Hiragana_Katakana)

KeyPress event keycode 101 (keysym Hiragana_Katakana)

...

が永遠に続きます。

xev 全角半角 も同様に無限ループ(KeyRelease eventで止まりません)です。

clear ... add mod1 をファイルに書いて

xmodmap ファイル

を実行すると、

Please release Alt_L

Please release Zenkaku_Hankaku

...

となってしまい、全角半角やひらがな、Esc, Alt等、何を押しても先へ進めなくなります。

Fキーを押すとファイルメニューがプルダウンされるので、

Alt押されっぱなし状態のようです。

いったんホストOS(Windows)をアクティブにし、

Ubuntu(ゲストOS)に戻るとAlt押されっぱなし状態が解除されます。

VirtualBoxのせいのようですね。

ホストOS(Windows)側で対応することにしました。

非VirtualBox環境なら簡単にAlt化できるようなので安心しました。

親切なご指導ありがとうございました。


4 ● hong7
●20ポイント

Xmodmapは日本語キーボードの特殊キーには対応してなかったので、できないと思います。そのような仕様のものを独自に開発されている日本人がいれば別ですが。Xというウィンドウシステムがそもそも多国語をあまり考えてないのです。

ただ、emacsの中でだけなら、ひらがなキーも変更できたかと思います。

似たようなunix系osでなら、mac os xでなら、だいたいできます。

◎質問者からの返答

そうだったのですか。

ありがとうございます。


5 ● pyopyopyo
●20ポイント

私の環境では

 keycode 101 = Alt_L
 add mod1 = Alt_L

で、出来ました。

◎質問者からの返答

ありがとうございます。

Alt_L

試してみましたが、私の環境ではダメでした。

2台のPCで同様の現象だったので、どうやらVirtualBoxが原因だったみたいです。

情報ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ