Caps Lockキーを再マップするにはどうすればよいですか?


69

以前はxmodmapCaps Lockボタンが機能しないようにするために使用し、Launchyに代わりにキーの押下を処理するように指示していました。これはもうできないようです。

Caps Lockの通常の動作を無効にし、他の動作をさせる最良の方法は何ですか?


1
Ubuntuの14.04は、以下を参照してくださいaskubuntu.com/q/444714/25388
レオ・レオポルド・ヘルツ준 영

回答:


71

どのOSに対しても良い答えを持っているhowtogeek.comから。

Linux(Ubuntuを含む)の場合:

setxkbmap -option <OPTION>

どこ<OPTION>に例があります:

  • caps:none – Caps Lockを無効にします。
  • caps:super– Caps Lockは、追加のスーパー(別名Winキー)になります。
  • caps:ctrl_modifier– Caps Lockは追加のCtrlになります。
  • caps:numlock– Caps Lockは追加のNum Lockになります。
  • caps:escape– Caps Lockは追加のエスケープになります。
  • caps:backspace– Caps Lockは追加のBackspaceになります。
  • caps:swapescape – Caps LockはEscapeになり、EscapeはCaps Lockになります

注:Xmodmapは廃止され、setxkbmap が使用されます。


3
あなたの男を愛し、それはubutnu 14.10のためのおかげで動作します
アンジェイRehmann

2
ubuntu 15.10でも動作します!ありがとう!
ドナテロ

6
素晴らしくシンプル、16.04に動作
chepyle

4
setxkbmap変更を復元するには(つまり、Capsキーを元の場所に戻す必要がある場合)、これを実行するだけsetxkbmap -option
です。– landroni

1
Capslockキーをバックスペースに再マップし、それを押したままにしておくと単語が削除されない理由がわからなくなった場合、余分なコマンドを使用する必要があるためです。setxkbmap -option caps:backspace入っxset r 66てボイラーした後。
ガブリエル

19

キーボード->レイアウト->オプション-> caps lockの動作に移動し、「caps lockを無効にする」を選択して無効にできます。


編集

別のキーボードのキーで不便に思える理由はわかりません。

しかし、LaunchyはCTRL+ Super+で試してみてもうまく機能しますSpace

ここに画像の説明を入力してください

またlaunchy、トレイアイコンをホワイトリストに登録する必要があります。システムトレイにアイコンを追加して有効にするにどうすればよいですか?をご覧ください。また、起動されていないときには機能しないため、スタートアップアプリケーションに追加する必要があります。


結局のところ、Launcyの代替として、Synapse を試してgnomeおよびUnityとの最適な統合を実現してください。


このオプションは、Ubuntu 15.04では使用できないようです。
-MichielB

19

Ubuntu 11.10-13.04の場合

  1. 開いてキーボードレイアウトのアプリケーションをして、「オプション」ボタンをクリックしてください。
  2. 再バインドオプションのリストが表示されます。「Caps Lockキーの動作」を選択します。
  3. お好みのCaps Lock再利用オプションを選択します。

利用可能なオプションのスクリーンショット


1
@JacobJohanEdwards自分自身に注意して、xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'まだ機能するかどうかを確認してください。
ジェド

vimユーザーの場合、「Practical Vim」では、システムレベルでCaps Lockをctrlにマップすることをお勧めします。[キーボードレイアウト]> [オプション]> [Ctrlキーの位置]> [Caps Lock]は、Ctrlのトリックです。
rpattabi

12
これらの設定は13.10ではもう存在しません。インストールするとgnome-tweak-tool、「入力」の下に同様の設定があります。
pcworld

これは、Ubuntu 12.10では機能しません。gnome-control centerでこれらの設定をいじっても効果はないようです。
アンドリューワーグナー

4
これらのオプションを14.04から削除したのはなぜですか?
レオレオポルトヘルツ

16

これは、基本的にhttps://askubuntu.com/a/223674/22073で提供される回答の修正です。

を使用してCaps Lockの動作を変更することもできXKBOptionます。これらの変更は、仮想コンソール(/ dev / tty [1-6]、またはCtrl-Alt-F [1-6])にも反映されます。

たとえば、Caps Lockを無効にするには、次のようにし/etc/default/keyboardます。

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz

次に、実行します:

sudo dpkg-reconfigure keyboard-configuration

XKBOPTIONSのカスタマイズの完全なリストについては、をご覧ください/usr/share/X11/xkb/rules/base.lst。Ubuntu 13.10マシンの完全なリストは次のとおりです。http//sprunge.us/cUZO

さらに詳細な情報はArchLinux wikiにあります:https ://wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg


完璧です、私はXKBOPTIONS="ctrl:swapcaps"左CtrlをCapsと交換するために使用しています。
マルシオ

Xおよび仮想コンソールの16.04で動作します。
jfs

11

役に立たないcaps_lockを基本的なシフトに再マップするには、次のようにします

xmodmap -e "keycode 66 = Shift_L"

これは再起動後も持続しません。
Czarekトムザック

3
再起動後も保持するには、Ubuntu Dash Home> Startup Applications> Add>上記のコマンドを入力します。
Czarek Tomczak

7

次の方法では、Compizの組み合わせを使用して、キーを押したときにアプリケーションを起動します。

要約すれば -

  1. Caps Lockキーの動作を変更して、別のキーを模倣します。
  2. compizを構成して、新しく模倣されたキーをリッスンし、カスタムスクリプトを実行します。

Caps Lockキーを変更する

Caps Lockキーの動作を変更するには、xmodmap次のように使用できます。

  • 「capslock」などのファイルを作成します
  • 以下をコピーしてファイルに貼り付けます
keycode 66 = cent
clear Lock
add Control = cent
  • xmodmapを実行して、変更を認識します。

xmodmap capslock

永続的に実行するには、このコマンドをスタートアップアプリケーションに追加します。

Caps Lockを押すと、「セント」キーを押すのと同じようになりました。これは、実際にキーボードに存在するキーではないことに注意してください。

ここからKeySym名のリストを取得できます

Compizを構成する

CompizConfig設定マネージャーを起動します

一般セクションでは、「コマンド」が有効になっていることを確認し、次のようにコマンドを設定します。

ここに画像の説明を入力してください

注意:キーバインディングを有効にし、「グラブキーの組み合わせ」を使用して「セント」キーを認識します。残念ながら、capizにcap lockキー自体を認識させることはできません。

ここに画像の説明を入力してください

明らかに-「発射」を開始するために使用するコマンドの「firefox」を変更します

Caps Lockキーを押すと、compizはマップされた「cent」キーを認識し、コマンド(この場合はfirefox)を実行し、「launchy」を実行します。


数分後に設定が戻ります-そして再びCaps Lockは通常の動作をします。
ヴィタリーズダネビッチ

5
  1. xevコマンドを使用します。Enterキーを押すと、xevが起動します。xevはすべての入力を受け取り、キーに関する情報をコマンドラインに送り出します。マウスをxevウィンドウの終了キーの上に移動し、caps lock(または、知りたいキー)を押して、すぐにxevを終了することをお勧めします。Caps Lockのシステムの関連行は次のようになります。

    KeyPress event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    keycode(66)およびkeysym(0xffe5)に注意してください。

    また、別のキーのデータを取得することもできます。実際には使用しないキーで、Caps Lockボタンを使用したいコンテキストでは何もしません。したがって、Caps Lockを使用してUnity検索ボックスをアクティブにするには(スーパーが通常行うように)、たとえば `を使用します。私のマシンで:

    keycode 49 (keysym 0x60, grave)
    
  2. xmodmapを使用して、新しいキーの機能をCaps Lockボタンにバインドします。次のようなコマンドを使用することをお勧めします。

    xmodmap -e "keycode 66=0x60"
    

    これで、テキストボックスの物理的なCaps Lockボタンを押すと、重大な文字( `)が表示されます。ただし、ショートカットキーをそれにマッピングすると、別のことが行われます。テキストボックスで使用できるようにするには、Caps Lockを左シフト、またはf10、または使用したいコマンドに干渉しないように思われる何かに置き換えます。

  3. それをテストして、私があなたに与えたコマンドがあなたが望むように動作することを確かめてください。

  4. スタートアップアプリケーションに移動し、そのコマンドをスタートアップアプリケーションに追加します。これにより、起動するたびにキーが適切に切り替わります。

  5. ダンス。

(大声で叫ぶ)キーバインドの変更(ハードウェアからソフトウェアへ)

また、xmodmapの詳細については:

http://www.xfree86.org/4.2.0/xmodmap.1.html

http://www.in-ulm.de/~mascheck/X11/xmodmap.html


5

Ubuntu 16.04

setxkbmap -option <OPTION> ワーナイトの答えから、私にとってはすぐにうまくいくようでした。

ただし、再起動すると消えます。これに対処するために、スタートアップアプリケーションに追加しました

  1. 検索して実行Startup Applications>> [追加]をクリックします
  2. 中に入れて/usr/bin/setxkbmap -option <OPTION>コマンドとして(注:完全なパスは重要です)

<OPTION>ようなものに置き換えますcaps:escape(viに使用します)

バックグラウンド

15.10から16.04にアップグレードしたばかりで、これをマッピングするために使用していたものはすべて、動作を停止しました。


2

(X互換性のあるwm / deで)私にとって最適なオプションは、

Option "XkbOptions" "caps:swapescape"

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "US"
    Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection

/etc/X11/xorg.conf.d/00-keyboard.confでブロックします(必要に応じて作成します)。


1

もちろん、xmodmapオプションは機能しますが、GUIを使用するオプションを探していました。これは私にとって利用可能です(Ubuntu 15.10を使用):

  • gnome-tweak-toolをインストールします
  • 「タイプ」に移動します
  • 「Caps Lockキーの動作」で「Caps Lockが無効になっている」を選択します

-1

最も堅牢なソリューションは、ファームウェアのキーを再マップできるキーボード、つまりプロのプログラム可能なキーボードを購入することです。

これらは通常約200ドルの費用がかかり、高品質の機械式キースイッチも備えています。それらは高価ですが、座っているすべての新しいマシンでこれと戦う必要を避ける唯一の方法であり、開発者がキーボードマップと同じくらい基本的なOSインフラストラクチャに重大な変更を加えるたびに。


1
これはラップトップでは役に立ちません。
ウォリック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.