
controlSolaris と Linux で、右キーを「スーパー」修飾子に変更し、右キーを「alt」修飾子 (Meta ではない) に変更したいと思いますalt(Windows で AutoHotKey を使用してこれを行う方法は知っています)。これを行う方法は知っています。
(define-key local-function-key-map (kbd "<rwindow>") 'event-apply-super-modifier
しかし、どのように指定すればいいのか分からない右 controlキーまたは右 altキー (Windows キーよりも入力しやすい)。もし emacs で直接実行できれば (Windows でも AutoHotKey を回避できれば) すばらしいのですが。そうでなければ、Solaris と Linux で AutoHotKey と同じことが実現できるかどうか知りたいです。
答え1
Emacsでこれを行う方法は知りません。私の知る限り、2つのCtrlキーは同じように扱われます。一部のOSではキーシンボルを変更するオプションがありますR-Altが、X Windowsではそのようなオプションはありません。x-alt-keysym
変数を使用してキーシンボルを変更できることに注意してください。両方 Altキー。
X Windows の各キーに割り当てられた修飾子を変更するには、 を使用しますxmodmap
。The Arch Wiki記事使用方法について説明します。基本的には次のようになります。
xmodmap -pm
修飾子とそれらに割り当てられたキーのリストを印刷するには、次のように入力します。shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x42), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod4 Super_L (0x85), Super_R (0x86) ....
次に、変更したい修飾子をクリアして再バインドするファイルを作成します。たとえば、R-Ctrlに変更するには
super
、次のようにします。clear super add super = Super_L Super_R Control_R clear control add control = Control_L
キーを処理するにはAlt、以下を使用できます。
clear meta add meta = Alt_L
meta
これにより、Emacs は既存の修飾子を見つけ、キーをデフォルトでAltとして扱うのをやめるはずです。その後、キーはEmacs で修飾子として (およびとして) 使用できるようになります。私はこれを試したことはありません。meta
R-Altalt
L-Altmeta
それが機能しない場合は、未使用の修飾子を選択してバインドする必要がありますR-Alt。たとえば、
hyper
。その後、それを Emacs バインディングで使用できます。~/.Xmodmap
変更を有効にするには、ファイルを保存して実行します。xmodmap ~/.Xmodmap
多くのデスクトップ環境では、
~/.Xmodmap
起動時に自動的に実行されます。そうでない場合は、ファイル内で実行する必要があります~/.xinitrc
。if [ -s ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi