Uscita da Emacs e riattivazione del touchpad


8

Ho il seguente codice elisp nella mia configurazione di emacs che disabilita il mio touchpad, quindi non mi infastidirà durante la scrittura.

;; disable touchpad when on emacs

(defun turn-off-mouse (&optional frame)
  (interactive)
  (call-process-shell-command "xinput --disable bcm5974"
                              nil "*Shell command output*" t))

(defun turn-on-mouse (&optional frame)
  (interactive)
  (call-process-shell-command "xinput --enable bcm5974"
                              nil "*Shell command output*" t))

(add-hook 'focus-in-hook #'turn-off-mouse)
(add-hook 'focus-out-hook #'turn-on-mouse)
(add-hook 'delete-frame-functions #'turn-on-mouse)

(provide 'setup-xinput)

Questo funziona bene; il problema è solo quando si esce da Emacs.

Se esco da Emacs su Emacs, il mio touchpad viene disabilitato. Quindi ho bisogno di aprire un nuovo Terminale con la tastiera ed eseguire xinput --enable bcm5974.

C'è qualche soluzione alternativa per questo? Come posso uscire da Emacs e quando smetto di riattivare il mio touchpad?

Risposte:


11

Puoi usare quello kill-emacs-hookche viene eseguito quando emacs viene chiuso 'normalmente'.

Gancio eseguito quando kill-emacsviene chiamato. Poiché kill-emacspuò essere invocato quando il terminale è disconnesso (o in altre situazioni simili), le funzioni posizionate su questo hook non dovrebbero aspettarsi di essere in grado di interagire con l'utente. Per chiedere conferma, vedi kill-emacs-query-functionsinvece.

Basta aggiungere turn-on-mousea kill-emacs-hookpiacere in modo

(add-hook 'kill-emacs-hook #'turn-on-mouse)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.