質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

850閲覧

Xmodmap でCtrl キーとoptionキーの役割の交換ができない。

rdld036

総合スコア16

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

1グッド

0クリップ

投稿2023/01/14 04:09

編集2023/01/14 10:52

前提

OSはubuntu22.04.1LTS,キーボードはHHKBのUS配列を使用しています。

実現したいこと

.Xmodmap で左側しかないCtrlキーをaltキーに、両側についているaltキーをctrlキーとして使いたい。

発生している問題・エラーメッセージ

xev でキーコードを調べたところ物理的には
Control = 37
Alt_L = 64
Alt_R = 108
だったので
.xmodmapファイルは下記のように設定しました。

clear control clear mod1 keycode 37 = Alt_L keycode 64 = Control_L keycode 108 = Control_R add control = Control_L Control_R add mod1 = Alt_L

xmodmap .Xmodmapを実行したところモディファイアーキーは下記のようになりました。

shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x40), Control_R (0x69), Control_R (0x6c) mod1 Alt_L (0x25), Alt_L (0xcc) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)

ちなみに変更する前のモディファイアキーは下記のとおりでした。

xmodmap: up to 4 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Alt_L (0xcc), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)

それぞれ16進数の数字を見る限りキーの交換はできていると思うのですが、正しくctrlキーが働かない状態です。どなたか教えていただけると幸いです。

melian😄を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

私だったら軟弱なので,

sudo apt install gnome-tweaks

の後,「tweaks」を立ち上げ,
「キーボードとマウス」タブを選択,キーボードの項目の中の
「追加のレイアウトオプション」から
Ctrl positionのツリーを開いて,「Swap Left Alt with Left Ctrl」にチェックを入れます。

といっても左側のキーだけですが…

提示されているコードでいけそうな感じですが,

$ xmodmap -pke | egrep '(Control|Alt)' keycode 37 = Control_L NoSymbol Control_L keycode 64 = Alt_L Meta_L Alt_L Meta_L keycode 105 = Control_R NoSymbol Control_R keycode 108 = Alt_R Meta_R Alt_R Meta_R keycode 204 = NoSymbol Alt_L NoSymbol Alt_L

となっているので,上のControlAltを入れかえて
次の設定ではどうでしょうか?

clear control clear mod1 keycode 37 = Alt_L Meta_L Alt_L Meta_L keycode 64 = Control_L NoSymbol Control_L keycode 105 = Alt_R Meta_R Alt_R Meta_R keycode 108 = Control_R NoSymbol Control_R add control = Control_L Control_R add mod1 = Alt_L Alt_R Meta_L

投稿2023/01/14 11:59

ujimushi_sradjp

総合スコア2111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rdld036

2023/01/15 10:10

.Xmodmap からでは結局変わりませんでしたがgnome-tweakで解決しました。教えていただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問