2009-09-25 60 views
3

我需要檢查是否按下了Shift鍵。 更確切地說,我想根據是否按下Shift鍵來設置直接開關。elisp如何檢查是否按下了Shift鍵

(defadvice find-file-noselect (around find-file-noselect-set-switches activate) 
    (let ((switches dired-listing-switches)) 
    ;; check if shift is pressed and set or not an "R" switch 
    (setq dired-listing-switches "-lhRA") 
    ad-do-it 
    (setq dired-listing-switches switches))) 

當然,我可以有不同的dired交換機不同的快捷方式,但我想選擇一個目錄dired過程中動態地改變我的開關。

回答

5

重複的問題(忽略另一個的'Windows'部分)。

Can I send a keypress to Windows from Emacs?

你能做的最好的(就是你提到)有不同的快捷方式。他們可以通過資本來區分...例如

(global-set-key (kbd "C-x C-D") 'dired-with-some-switches) 
(global-set-key (kbd "C-x C-d") 'dired-with-other-switches) 
+0

我不認爲這是一個重複的 - 其他問題詢問發送鍵,這一個是關於接收一個(或如果按下一個檢查) 。 – 2011-09-04 13:23:12

相關問題