私はこれを試しました:
まず試してみました。
xmodmap
clear Lock
keycode 66 = F12
しかし、問題は、再起動またはログアウトするたびにカスタムマッピングがリセットされることです。したがって、xmodamp ~/.Xmodmap
再起動またはログアウトするたびにコマンドを実行する必要があります。自動化しようとしても役に立ちません。 xmodamp ~/.Xmodmap
実行には約10秒かかり、この間はコンピュータ全体がブロックされます。つまり、他のプログラムに切り替えたり使用することはできません。
また、xmodmapの使用は廃止されたと聞きました。
- 次に試したのはF12ファイルに設定することでした
/usr/share/X11/xkb/symbols/pc
。私は次のことを試しました:key <CAPS> {»-[ F12»»-]»};
(<--は私のコンピュータで»
記号が表すものです)。tabs
しかし、これはあまり効果がないようです。
Caps Lockファンクションキーを永久に再マッピングする方法はありますかF12?
答え1
私はこれが古い質問であることを知っていますが、同じ問題で苦労しています。
私にとって問題は、何かがxmodmap
設定を無視しているか(これを行うので、使用する前にコマンドの一部であるかどうかを確認するsetxkbmap
)、実行されていないようです。.Xmodmap
xmodmap
私は.xinitrc
明らかに私の.Xmodmap
...を実行する必要があります。
設定はどのように見えますか?
私はi3を使用しており、いわゆる回避策があります。xmodmap ~/.Xmodmap
i3-configファイルを実行すると機能します。プラズマ設定を使用すると、CapsLockが正常に戻るため、このソリューションは気に入らません。
私の.Xmodmap
外観は次のとおりです。
remove Lock = Caps_Lock
keysym Caps_Lock = F12
xmodmap ~/.Xmodmap
時間がかかる問題はないようです。
解決策を見つけることを願っています。解決策があれば教えてください。
ありがとうございます。
答え2
この回答によれば、私に役立ちました。https://unix.stackexchange.com/a/170357/105061
完全性のためにここで説明します。
sudo evtest
探すために走る
- 鍵盤バス、行商人と製品。次のような行を探してください。
Input device ID: bus 0x3 vendor 0x46d product 0xc31c version 0x110
- これスキャンコード変更したいキーです。キーを押して値を書き留めます
(MSC_SCAN)
。
Event: time 1678720211.060421, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70039
- 形式でリマップを含むファイルを作成します。区切り文字で区切る
/etc/udev/hwdb.d/98-custom-keyboard.hwdb
ために、識別子を大文字に変換する必要がありますb
。キー名は小文字でなければなりません。私のファイルは次のように表示されます。v
p
evdev:input:b0003v046DpC31C*
KEYBOARD_KEY_70039=f12 # capslock to f12
- データベースの再構築を使用してください
sudo udevadm hwdb --update
。 - 設定を適用するために使用します
sudo udevadm trigger --sysname-match="event*"
。 - (オプション)再実行して動作して
sudo evtest
いることを確認します。