web-dev-qa-db-ja.com

Chromebook:検索キーをctrl、ubuntuにマップする

crouton を使用してchromebookでUbuntuを実行しています。

検索キーをctrlアクションにマップするにはどうすればよいですか。

this と同様に、Caps Lockキーとctrlキーを交換します。

/usr/bin/setxkbmap -option "ctrl:swapcaps"

更新

まだ運がありません:-(、~/.Xmodmapファイルで this のように交換しました

clear control
clear mod4

keycode 105 =
keycode 206 =

keycode 37 = Control_L NoSymbol Control_L
keycode 134 = Control_R NoSymbol Control_R
keycode 133 = Super_L NoSymbol Super_L

add control = Control_L
add control = Control_R
add mod4 = Super_L

しかし、それでも幸運はありません。ヘルプの提案は大いに歓迎されます。

2
Martinffx

私はAcer C720 Chromebookを持っています、これは検索キーを制御するためにしたことです

xevを使用して、検索キーのキーコードと、マップされているキーを確認できます。私のChromebookでは、検索キーはデフォルトでSuper_Lにマップされます。

まず、.Xmodmapディレクトリに以下の内容のファイル$HOMEを作成します

clear control
clear mod4
keycode 133 = Super_L
add control  = Control_L Control_R Super_L
add mod4 = Super_L Super_R

次に、Chromebookターミナルで~/.Xmodmapを使用してLinuxを起動するときに、xmodmap load Sudo startxfce4ファイルを確認する必要があります。以下の内容のファイル~/.xinitrcを作成します

if [ -s ~/.Xmodmap ]; then
    xmodmap ~/.Xmodmap
fi

最後の手順は、xfce環境をログアウトし、Chromebookターミナルから再起動することです。

参照用に、セクションSpecial keys/signalsHere から見ることができます。また、クルトンからの別の参照: Here

3
yongzhy

私はあなたと同じ問題を抱えていました。

このサイト は、押されているキーを見つける方法を示しています。

showkey --keycodes

その後、検索キーを押すと125が得られました(HP 14インチchromebookを使用していたため、異なる可能性がありますが、同じになるはずです)

次に、キーコード125を使用してコントロールにマッピングします
次の行を使用して新しいファイルを作成します。

キーマップ0-127
キーコード125 =コントロール

File = /usr/share/keymaps/Caps2Ctrl.map(キーマップディレクトリを作成し、新しいファイルを作成しました)

いま

Sudoロードキー/usr/share/keymaps/Caps2Ctrl.map

これで完了です!
この方法は emacs wiki

1
Heartinpiece

次のシェルスクリプトは、ChromeOSで検索キーとコントロールキーを有効にすると、Samsung Chromebookで検索キーを別のコントロールキーにするように機能します。さらに、これが機能するシステムでは、クルトンの「キーボード」ターゲットがnotロードされました。 (そして、上記のyongzhyのソリューションは機能しません--- Searchキーは、「control」に加えて「mod4」を表し、「。xinitrc」は実行されないようです。)

#! /bin/bash -f
xmodmap -e 'remove mod4 = Super_L'
xmodmap -e 'remove control = Control_L'
xmodmap -e 'keycode 133 = Control_L'
xmodmap -e 'add control = Control_L'
xmodmap -e 'keycode 134 = Control_L'
xmodmap -e 'remove mod4 = Control_L'
xmodmap -e 'keycode 207 = Control_L'
xmodmap -e 'remove mod4 = Control_L'

これらのコマンドをすべて含むファイルで「xmodmap」を1回実行すると、何らかの理由でnotが機能することに注意してください。 (ChromeOSキーボードドライバーの奇妙さと "xmodmap"の間の競合状態を示す可能性のあるもの。他のシステムでは、このスクリプトに縁起の良い場所に "sleep"コマンドを挿入する必要があるかもしれません。)

さらに、デスクトップとしてXfceを実行していて、これをセッション設定で自動的に開始されたプログラムに追加する場合、「スリープX」をファイルの先頭に追加する必要があります。しかし、システムの速度と、起動時にXfceによって実行される他のプロセスに応じて変わる可能性があると思います。

私の経験に基づいて、これがうまくいかない場合は、次の擬似コードを試すことをお勧めします。

<Do what you would ordinarily do to switch the keys>
while "xmodmap -pm" shows that "mod4" includes keys:
    for key in <keys assigned to mod4>:
        xmodmap -e 'keycode <keycode(key)> = Control_L'
        xmodmap -e 'remove mod4 = Control_L'

(「mod4」を表現するキーが必要な場合、これは明らかに機能しません。)

1
Ron Kaminsky

Pixelでは、検索キーはデフォルトでスーパーキーに設定されています。私はこれをテストしていませんが、私は

/usr/bin/setxkbmap -option "super:ctrl"
0
Trevor