Salir de Emacs y volver a etiquetar el panel táctil


8

Tengo el siguiente código de elisp en mi configuración de emacs que desactiva mi panel táctil, por lo que no me molestará al escribir.

;; 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)

Esto funciona bien; El problema es solo al salir de Emacs.

Si salgo de Emacs mientras estoy en Emacs, mantiene mi panel táctil desactivado. Entonces necesito abrir una nueva Terminal con el teclado y ejecutar xinput --enable bcm5974.

¿Hay alguna solución para esto? ¿Cómo podría salir de Emacs y al dejar de volver a habilitar mi touchpad?

Respuestas:


11

Puede usar kill-emacs-hookcuál se ejecuta cuando emacs se cierra 'normalmente'.

Gancho de correr cuando kill-emacsse llama. Dado que kill-emacspuede invocarse cuando el terminal está desconectado (o en otras situaciones similares), las funciones colocadas en este enlace no deberían poder interactuar con el usuario. Para solicitar confirmación, consulte en su kill-emacs-query-functionslugar.

Solo agregue turn-on-mousea me kill-emacs-hookgusta así

(add-hook 'kill-emacs-hook #'turn-on-mouse)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.