web-dev-qa-db-ja.com

Caps Lockの制御とエスケープへの再マッピング(通常の方法ではありません)

Xmodmapを使用してCapsロックキーを再マップし、ControlキーまたはEscapeキーとして機能させる方法を知っています。次のように両方の機能を組み合わせたいと思います。

Caps Lockキーを押してから放すと、エスケープが送信されます。 Caps Lockを押しながら別のキー(Aなど)を押すと、Control-Aが送信されます。

XでCapsロックをこのように動作させるxkb、xmodmap、およびその他の組み合わせがありますか?

Macbook Air 3,1でUbuntu Preciseを使用しています。

27
user372737

私は自分のMacでこのセットアップを行っており、運のないUbuntuの方法を見つけようとしました。

まあ、今は機能しています。xcape に私を突っ込んでくれてありがとう。私がやったことは本当にシンプルで簡単です。

  1. [システム環境設定]> [キーボードレイアウト]> [オプション...]> [Ctrlキーの位置]で、[Caps Lock as Ctrl]をオンにしました。

  2. xcape -e 'Control_L = Escape'

完了、Caps Lockは修飾子のように使用するとCtrlとして機能し、単独で押すとEscとして機能します(xcape READMEファイルに記載されているように、数百ミリ秒のわずかな遅延があるため、まだ最適ではありません) KeyRemap4MacBookを使用するMacソリューションとして。)

34
Vic Goldfeld

私もこれを探しています。一週間前、私はxmodmapを使用して自分自身の部分的な解決策を見つけました。

add Control = Caps_Lock
remove Lock = Caps_Lock
keysym Caps_Lock = Escape

もちろん、これは完全に機能するわけではなく、CapsLockを押したときにEscapeとCtrlの両方を効果的に送信しますが、しばらくの間は満足していました。

最後に、この小さなユーティリティを見つけました https://github.com/alols/xcape 。そのため、CapsLockをCtrlに再マップし、xcapeに任せることができます。

6
tungd

編集:ほとんどのスマート(新しい)ディスプレイマネージャーのこれを修正しました。

LouisとSergiyのコメントごとに、LightDMとUnityを使用したUbuntu 16.04(Xenial)で動作するこのソリューションを思いつきました。

次のコード行をホームディレクトリの.xprofileファイルに配置します。

setxkbmap -option 'caps:ctrl_modifier' && xcape -e 'Caps_Lock=Escape' &

後続の&は、xcapeコマンドをバックグラウンドに配置して、セッションをブロックしないようにします。 setxkbmapはすぐに変更を加えます。

セルギー:

Ubuntu 14.04のシステム設定にはキーボードレイアウトがないため、gnome-Tweak-toolを使用してCaps LockをCtrlにマップしました。その後、xcape -e 'Control_L = Escape'は機能しませんでしたが、xcape -dを使用した後、Caps Lockがキーコード66を生成し、それを再マップすることを発見しました:xcape -e '#66 = Escape'。 –セルギー・ビエロジョロフ14年9月4日10:08

ルイス:

このブログ投稿によると、xcapeのみでこれを行うことができます:setxkbmap -option 'caps:ctrl_modifier' xcape -e 'Caps_Lock = Escape' setxkbmap -option 'caps:ctrl_modifier' xcape -e 'Caps_Lock = Escape; Control_L = Escape; Control_R = Escape '-ルイ・シモーノー15年8月4日10:06

4
dragon788

インストールxcape

Sudo apt-get install xcape

~/.bashrcに2行を追加します

/usr/bin/setxkbmap -option 'caps:ctrl_modifier'⏎
/usr/bin/xcape -e 'Caps_Lock=Escape' -t 100

部分-t 100に注意してください。設定しない場合、vimを使用するとEscの遅延に気付く場合があります。

2
Searene

xcape/xmodmapソリューションの多くの問題 :を克服するこの目的のために、Cでツールを特別に構築しました。

1
pepper_chico