Xmodmapを使用してCapsロックキーを再マップし、ControlキーまたはEscapeキーとして機能させる方法を知っています。次のように両方の機能を組み合わせたいと思います。
Caps Lockキーを押してから放すと、エスケープが送信されます。 Caps Lockを押しながら別のキー(Aなど)を押すと、Control-Aが送信されます。
XでCapsロックをこのように動作させるxkb、xmodmap、およびその他の組み合わせがありますか?
Macbook Air 3,1でUbuntu Preciseを使用しています。
私は自分のMacでこのセットアップを行っており、運のないUbuntuの方法を見つけようとしました。
まあ、今は機能しています。xcape に私を突っ込んでくれてありがとう。私がやったことは本当にシンプルで簡単です。
[システム環境設定]> [キーボードレイアウト]> [オプション...]> [Ctrlキーの位置]で、[Caps Lock as Ctrl]をオンにしました。
xcape -e 'Control_L = Escape'
完了、Caps Lockは修飾子のように使用するとCtrlとして機能し、単独で押すとEscとして機能します(xcape READMEファイルに記載されているように、数百ミリ秒のわずかな遅延があるため、まだ最適ではありません) KeyRemap4MacBookを使用するMacソリューションとして。)
私もこれを探しています。一週間前、私はxmodmap
を使用して自分自身の部分的な解決策を見つけました。
add Control = Caps_Lock
remove Lock = Caps_Lock
keysym Caps_Lock = Escape
もちろん、これは完全に機能するわけではなく、CapsLockを押したときにEscapeとCtrlの両方を効果的に送信しますが、しばらくの間は満足していました。
最後に、この小さなユーティリティを見つけました https://github.com/alols/xcape 。そのため、CapsLockをCtrlに再マップし、xcapeに任せることができます。
編集:ほとんどのスマート(新しい)ディスプレイマネージャーのこれを修正しました。
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
インストール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の遅延に気付く場合があります。
xcape/xmodmapソリューションの多くの問題 :を克服するこの目的のために、Cでツールを特別に構築しました。