Thanks, Greg * Now I am able to run my script every time I am in logos-focus mode :D * But my keys don't get to be "normal" after I get out of logos-focus mode. This is how my code is evolving (the "conditional part" is not working yet): (add-hook 'logos-focus-mode-hook #'(lambda () (defvar posicion   "Position where is the cursor.") (defun posicion3 ()   (interactive)   (end-of-visual-line) ;;C-e   (backward-char 7)   (setq posicion 3) ) (defun posicion2 ()   (interactive)   (forward-char 23)   (setq posicion 2) ) (defun posicion1 ()   (interactive)   (next-line 1)   (beginning-of-visual-line)   (forward-char 6)   (setq posicion 1) ) (defun salto ()   (interactive)   (if posicion 1     (posicion2)       (if posicion 2       (posicion3)         (if posicion 3         (posicion1))))) ;; (define-key global-map (kbd "SPC") #'salto) (local-set-key "j" 'posicion1) (local-set-key "k" 'posicion2) (local-set-key "l" 'posicion3) )) El 22/05/2022 a las 15:27, Greg Minshall escribió: > Ypo, > >> Additional problem: I don't know how to recover keys 1, 2 and 3 to >> their normal functioning, right now I can't type 1, 2 or 3 on my >> Emacs. xD > you have, e.g., > >> (define-key global-map (kbd "1") #'posicion1) >> (define-key global-map (kbd "2") #'posicion2) >> (define-key global-map (kbd "3") #'posicion3) > but, that is in the global map. for a given mode, i sometimes do > something like that: > >> (add-hook 'mh-show-mode-hook #'(lambda () >> (local-set-key "q" 'mh-show-execute-commands))) > or, closer to what you have, sometimes like > >> (define-key mh-letter-mode-map >> (kbd "C-c s") >> 'ggm-mh-sentaddrs-completion) > i am no elisp expert, and so those are just random things i've found > that work. but, hopefully this may give you a hint of a direction to > follow. > > cheers, Greg