ChromebookのLinux機能でSuperキーを使用する


概要

  • スーパーキー (キーボード) - Wikipedia
  • WindowsのWindowsキーやMacのコマンドキー、ChromeOSのEverythingキー(検索キー/ランチャーキー)がLinuxのSuperキーに当たる
  • ChromeOSのLinux機能で開いたLinuxアプリに対してEverythingキーを押しても、ChromeOS側に作用しChromeOSのランチャーが開いてしまう
  • 「Everythingキー+←/→」のHome/Endや「Everythingキー+BackSpace」のDelete等はLinuxアプリ側に作用する
  • ChromebookにはSuperキーが無いからLinuxとしてダメだという意見を見たので書く

Linuxアプリに対してSuperキーを使用できるようにする

  • ChromeOSの設定 → キーボードにて、CtrlまたはAlt検索を割り当てる
  • 設定変更により、左Ctrl/Altが通常のEverythingキー、右Ctrl/AltがSuperキーとして機能するようになる
  • 「Everythingキー+←/→」のHome/Endや「Everythingキー+BackSpace」のDelete等は左右どちらのキーでも機能する

確認

  • xevに対して検索を割り当てた左Ctrlキーを打鍵
PropertyNotify event, serial 72, synthetic NO, window 0x400001,
    atom 0x10e (_NET_WM_STATE), time 567418, state PropertyNewValue

FocusOut event, serial 72, synthetic NO, window 0x400001,
    mode NotifyNormal, detail NotifyNonlinear

LeaveNotify event, serial 72, synthetic NO, window 0x400001,
    root 0x524, subw 0x0, time 567437, (113,90), root:(1224,676),
    mode NotifyNormal, detail NotifyAncestor, same_screen YES,
    focus NO, state 16
  • xevに対して検索を割り当てた右Ctrlキーを打鍵
KeyPress event, serial 92, synthetic NO, window 0x400001,
    root 0x524, subw 0x0, time 692294, (9,120), root:(1120,706),
    state 0x50, keycode 134 (keysym 0xffec, Super_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 92, synthetic NO, window 0x400001,
    root 0x524, subw 0x0, time 692352, (9,120), root:(1120,706),
    state 0x10, keycode 134 (keysym 0xffec, Super_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
  • Fcitxの「入力メソッドのオンオフ」にキーを割り当ててみる

    • Shift/Alt/Ctrlを押しながらSuperキーを押した場合、左右どちらでも機能する
    • 単押しの場合は右Superキーのみ機能する
  • Superキーを修飾キーとして割り当ててみる(何故かFcitxでは出来なかったのでVSCodeで確認)

    • 左右どちらでも機能する

(バージョン: 92.0.4515.36(Official Build)beta (64 ビット)にて確認)

以上