Emacsでcaps lockとnum lockキーがオンになっているかどうかを表示できますか?私が尋ねる理由は、私が片手のタイピストで、FrogPadを使用しているからです。 20キーデバイスは、複数のシフトキーシーケンスを使用して、標準のQWERTYキーボードの全機能を備えています。私はシフトの状態、emacsの中のcaps lockとnumlock keyを表示することが非常に役に立ちます。私はこれをgoogledし、リマップキーに関する記事のみを見つけることができます。これも可能ですか?Emacsでcaps lock、num lock、shiftキーの状態を表示
答えて
Xサーバでemacsを実行すると、Cプログラム、継続的なモニタShift、Caps、Numlockステータスを書き込むことができます。変更が発生した場合はstdoutに出力します。 emacsでは、このプログラムを外部プロセスとして実行し、プロセスフィルタを使用して出力を処理し、最後にShift、Caps、Numlockステータスをモードラインに表示します。
emacsが受信されたキーボード入力の最低レベルは、Emacs剤(meta
、control
、shift
、hyper
、super
、及びalt
)のオン/オフ設定で基本コードを組み合わせkeyboard event、あるLISP。この組み合わせのために、たとえばシフトキーを押したままにしているときに、lispコードが学習する方法がないようです。また、CAPS LOCKまたはNUM LOCKには何も表現されていないことに注意してください。
なお、emacsは実際にはnewline
とC-m
を区別しますが、lispコードでは非常に低いレベルで、前者は後者にマッピングされます。あなたが本当に詳細を知りたい場合は、lisp/term/x-win.el
(通常は/usr/share/emacs/NN.X
にあります)を参照してください。
したがって、emacs lisp内のから、私はあなたがしたいことはできないと信じています。
しかし、外部コマンドからのテキストをemacsモード行に埋め込み、それを定期的に更新することは可能です。したがって、原則として、caps lock、shift、numlock statusを返すlinuxコマンドを見つけることができ、定期的にコマンドラインに注入することができます。シフト、capslock、numlockを押すと、リアルタイムでモデルラインを更新しないため、これはおそらくあなたのニーズを満たしていないでしょう。しかし、これを追求したい場合は、display-time-mode
とdisplay-battery-mode
の実装をチェックしてください。
+1のバッテリ表示チップ。電池の状態を表示するだけではありませんので、これを実装する方法のアイディアを探しているかどうか調べる価値があります(実際にはそうしていない場合)。 – tripleee
それは、ポータブルEmacsで可能ではないのですが、あなたはX11を使用している場合:
(require 'dash)
(require 's)
(defun x-led-mask()
"Get the current status of the LED mask from X."
(with-temp-buffer
(call-process "xset" nil t nil "q")
(let ((led-mask-string
(->> (buffer-string)
s-lines
(--first (s-contains? "LED mask" it))
s-split-words
-last-item)))
(string-to-number led-mask-string 16))))
(defun caps-lock-on (led-mask)
"Return non-nil if caps lock is on."
(eq (logand led-mask 1) 1))
(define-minor-mode caps-lock-show-mode
"Display whether caps lock is on."
:global t
:lighter (:eval (if (caps-lock-on (x-led-mask)) " CAPS-LOCK" "")))
- 1. Linux上でCaps Lock、Scroll Lock、Num Lockキーをプログラマチックにオン/オフする方法
- 2. C#(asp.net)、クライアント側のCaps Lock状態を確認する方法
- 3. Qt(または任意のmac API)のCaps Lock状態
- 4. Caps Lockにバインドする
- 5. 仮想キーボードでcaps lockキーを切り替える方法
- 6. VB.NETでCaps Lockの現在の状態を取得するにはどうすればよいですか?
- 7. OS X 10.8でCaps LockキーをControlに再マップする方法は?
- 8. Caps Lockの状態を取得するにはどうしたらいいですか?
- 9. VIMのvimrcファイルでCAPS LOCKを一致させる方法
- 10. VB.NETでNum Lockの現在の状態を取得するにはどうすればよいですか?
- 11. 平均スタックでのCaps Lock警告バルーンの設定方法
- 12. C-bをアンバインドし、接頭キーをcaps lock + aに設定する方法は?
- 13. Vimrc関数でCaps Lockを検出する方法
- 14. C#\ Lock \ lockインスタンスメンバVSロックスタティックメンバ
- 15. JavaScriptのemacs font-lock-mode: 'this'のように 'self'を強調表示したい
- 16. Caps Lockパスワード保護された画像UITextField
- 17. Emacs:font-lockの説明
- 18. タップするとApplescriptがCaps Lockにマップされます。 (MacOS Sierra)を押すとCaps Lockに制御されますか?
- 19. Google AnalyticsでCaps Lockユーザーをどのように追跡しますか?
- 20. Shiftキーを押しながら入力したものと比較せずにjavascriptでcaps lockを検出する方法はありますか?
- 21. WindowsでCaps Lockキーをプログラムで無効にすることはできますか?
- 22. ConcurrentHashMapのlock()メソッド
- 23. マルチスレッドプログラムのLock()
- 24. Shiftキーを押しながら文字を大文字に変換するか、jQueryでCaps Lockを有効にする
- 25. vscode:修飾キーの1つとして `caps lock`を作る(再マッピングしない)ことはできますか?
- 26. ホストされたログインページで 'Caps Lock On'と 'Show Password'を実装する
- 27. Qt 4.7.4:CAPS LOCKのステータスを調べる方法はありますか?
- 28. OSX上でCarbon EmacsのCtrlキーとCaps LockをOSX上で交換するにはどうすればいいですか?
- 29. Python dict.get()Lock
- 30. CPythonとスレッドモジュールLock()
これは、Xサーバは、その情報とのemacsを提供しますという意味で、emacsののX11バージョンで可能です。しかし、ターミナルコードはEmacsの他の部分とは遠く離れていますが、Lispレベルでアクセスすることは難しいでしょう。 (例として、Emacsは、Xサーバがこの情報を与えても、ReturnキーとControl-mの違いを知らない。何かが見えるようになる前に "Newline"に翻訳される。これは、コンソールスタイルの端末*が* 2つのケースを区別できないためです)。 – jrockway