web-dev-qa-db-ja.com

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

以前は、xmodmapを使用して、 Caps Lock ボタンを機能させてから、 Launchy を押してキーを押すようにします。これはもうできないようです。

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

67
Mehrdad

howtogeek.com から。これは、あらゆるOSに適した答えです。

Linux(Ubuntuを含む)の場合:

setxkbmap -option <OPTION>

<OPTION>の例は次のとおりです。

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

注:Xmodmapはdeprecatedであり、setxkbmapが優先されます。

70
Wernight

Ubuntu 11.10-13.04の場合

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

Screenshot of available options

19
Jjed

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


編集

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

しかし、Launchyを試してみたところ、うまく機能しました CTRL+Super+Space

enter image description here

また、launchyをトレイアイコンにホワイトリストする必要があります。 システムトレイにアイコンを追加して有効にする方法 を参照してください。また、起動されていないときには機能しないため、スタートアップアプリケーションに追加する必要があります。


結局のところ、Launcyの代替として、 Synapse を試してください。これは、gnomeおよびunityとの最適な統合のためです。

18
Binarylife

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

XKBOptionを使用してCaps Lockの動作を変更することもできます。これらの変更は、仮想コンソール(/ 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

15

役に立たないcaps_lockを基本的なシフトに再マッピングするには、

xmodmap -e "keycode 66 = Shift_L"
10
jobwat

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

要約すれば -

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

Caps Lockキーを変更する

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

  • ファイルを作成します"キャップスロック"
  • 以下をコピーしてファイルに貼り付けます
keycode 66 = cent
clear Lock
add Control = cent
  • xmodmapを実行して、変更を認識します。

xmodmap capslock

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

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

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

Compizを構成する

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

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

enter image description here

N.B.キーバインディングを有効にし、「グラブキーの組み合わせ」を使用して「セント」キーを認識します。残念ながら、キャップロックキー自体を認識するためにcompizを取得することはできません。

enter image description here

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

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

6
fossfreedom
  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ボタンを押すと、Graveキャラクター( `)が表示されます。ただし、ショートカットキーをマップすると、別のことが行われます。テキストボックスで使用できるようにするには、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
Daniel

Ubuntu 16.04

Wernightの回答からのsetxkbmap -option <OPTION>は、私にとってはすぐに機能するように思えました。

ただし、再起動すると消えます。これに対処するために、 startup applications に追加しました

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

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

背景

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

3
Anthony Astige

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でブロックします(必要に応じて作成します)。

2
Roman Riesen

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

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