AltGrキーがVirtualBoxのUbuntuで機能しない


8

Windows 7に(Oracleから)VirtualBoxをインストールし、最新のUbuntuで仮想マシンを作成しました。

ここでは、Firefoxで、左側のCtrlキーを使用できますが、右側のCtrlキーは効果がありません。ただし、AltGrキー(Right Altとも呼ばれます)を使用して{}のような中括弧を作成することはできません(Ctrl Vで貼り付けました)。

ターミナルウィンドウで、[入力方法]を[マルチプレス]に切り替えてから、AltGrを使用して、たとえば{}と入力します。これにより、この投稿用にこれらの文字を生成しました。ただし、「Multipress」では、Ctrlキーはまったく効果がないようです。たとえば、Ctrl DIと入力するには、右クリックして、[入力方法]を[システム(IBus(インテリジェント入力バス))]に切り替える必要があります。その後、AltGrは機能しません。

システム設定のキーボードレイアウトで構成キーを指定してみました。

それでは、CtrlもAltGrも機能しませんでした。

xmodmapが報告する内容は次のとおりです。

[〜]
$ xmodmap -pke | grep -iコントロール
キーコード37 = Control_L NoSymbol Control_L
キーコード105 = Control_R NoSymbol Control_R
[〜]
$ xmodmap -pke | grep -i alt
キーコード64 = Alt_L Meta_L Alt_L Meta_L
キーコード204 = NoSymbol Alt_L NoSymbol Alt_L
[〜]
$ _

どうすれば修正できますか?

追加情報:キーボードは、標準のPCキーボードであるLogitech K120で、ノルウェー語のレイアウトです。

また、私は最初にスーパーユーザーのサイトでこの質問をしてみましたが、2日経っても応答がありません...


UbuntuでAltGrキーが機能しました。「.Xmodmap」というファイルを作成し、「keycode 113 = Mode_switch Multi_key」という行を追加する必要があることを知っているだけでした。これは、bugs.launchpad.net / ubuntu / + source / xkeyboard
Alf P. Steinbach

回答:


5

コマンドを実行しますxev。xevウィンドウで、AltGrキーを押します。次のようなものが表示されます

KeyPress event, serial 29, synthetic NO, window 0x6400001,
    root 0x105, subw 0x0, time 966635535, (243,-207), root:(1891,26),
    state 0x0, keycode 66 (keysym 0xff7e, Mode_switch), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

キーコードに注意してください。キーがあなたの望むことをしていないので、のAlt_R代わりに何かの可能性があります(おそらく)Mode_switch。このキーコードをに割り当てMode_switchます。これは、X11のAltGrの名前です。次のコマンドを、ホームディレクトリの.Xmodmap(資本に注意X)というファイルに入れます。

keycode 66 = Mode_switch

さらに、修飾子をに割り当てる必要Mode_switchがある場合がありますが、そのすべてがキーコードの不一致である場合は、すでに1つ存在しています。詳細については、スペイン語のエネー文字のキー設定するを参照してください。

実行xmodmap ~/.Xmodmapしてファイルをテストします。Ubuntu 10.04を含む多くのシステムでは、このファイルはデフォルトのGnome環境に自動的にロードされます。他のディストリビューションまたは環境では、xmodmap ~/.Xmodmapログイン時に実行することを明示的に示す必要がある場合があります。


これは興味深い回答です。キーコード66を使用します。この回答を投稿する前のコメントで、ネットからコピーして貼り付けたばかりのキーコード113がその行で機能することを指摘しました。今、私がxevあなたが提案するように実行すると、キーコード108が報告されます。それでも、ネットワークからコピーした行は機能します。したがって、明らかにキーコードとは関係ありません。私は楽しみのためにそれを66に変更し、再起動しました。だから私はそれは技術的に正確なものではないと結論付けていますが、明らかにUbuntuのハイゼンバグです。
Alf P. Steinbach

@ AlfP.Steinbachキーコードは、ハードウェア(またはVM内のハードウェアエミュレーター)とカーネルお​​よびXサーバーのバージョンによって決定されます。PCキーボードでは、古いLinuxディストリビューションでは右側のAltキーにキーコード113があり、新しいディストリビューションでは108です(66の例は、Caps LockキーにAltGrがあるためです)。少し前に、キーコードの割り当てに関して「古い」システムと「新しい」システムのどちらがあるかを自動的に判断する方法を尋ねました。
Gilles「SO-悪をやめる」

まあ、それはそのファイルの名前変更して再起動した後もまだ機能します。また、端末は再起動後も古いコマンド履歴を記憶しています。そのようなばかげた永続的な動的状態では、バグを見つけるのはかなり難しいと思います。そのような干渉環境では、バグを確実に再現することはできません。AltGrに関するバグがどのようにして解決されたのか、解決済みとして閉じられた、再開された、解決済みとして閉じられた、再開されたなどのさらなる証拠があると思います。したがって、その設定と状態の永続性を導入した人を厳しく罰することは、Good Idea(TM)になると思います。:-)
Alf P. Steinbach
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.