The following code:
- defines a major mode
C-dbinding is redefined;
- opens a
my-modebuffer inserting an editable-field widget.
(require 'widget) (require 'wid-edit) ;; Define my-mode mode (defvar my-mode-map (let ((map widget-keymap)) (define-key map (kbd "C-d") (lambda () (interactive) (message "Ctrl D"))) map)) (define-derived-mode my-mode nil "My") ;; Open my-mode buffer and insert editable field (let ((buf (get-buffer-create "*buf*"))) (with-current-buffer buf (my-mode) (widget-create 'editable-field :format "Field 1: %v ") (widget-setup)) (switch-to-buffer buf))
My problem is that,
C-d binding works only outside the editable field.
How can I make it work inside the field too?