[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is there any handy way to view a custom key map?
From: |
Eduardo Ochs |
Subject: |
Re: Is there any handy way to view a custom key map? |
Date: |
Sat, 15 Jan 2022 13:19:51 -0300 |
On Sat, 15 Jan 2022 at 12:02, Jean Louis <bugs@gnu.support> wrote:
> I have plethora of various screens displaying lists of items from the
> database. Different database tables have different key maps.
>
> Example:
>
> (defvar rcd-db-mode-map
> (let ((map (make-sparse-keymap)))
> (set-keymap-parent map tabulated-list-mode-map)
> (define-key map (kbd "/") #'rcd-tabulated-filter)
> (define-key map (kbd "G") #'goto-line)
> (define-key map (kbd "Q") 'rcd-db-kill-database-buffers)
> (define-key map (kbd "U") 'rcd-tabulated-remove-marks)
> (define-key map (kbd "V") #'rcd-tabulated-id-to-register)
> (define-key map (kbd "\\") #'rcd-tabulated-filter-reset)
> (define-key map (kbd "d") #'rcd-db-delete-tab-database-entry)
> (define-key map (kbd "e") #'rcd-db-edit-tab-database-entry)
> (define-key map (kbd "g") #'rcd-tabulated-refresh)
> (define-key map (kbd "j") #'next-line)
> (define-key map (kbd "k") #'previous-line)
> (define-key map (kbd "m") #'rcd-tabulated-mark-id)
> (define-key map (kbd "u") #'rcd-tabulated-unmark-id)
> (define-key map (kbd "z") #'rcd-tabulated-refresh)
> map)
> "The basic RCD database keymap")
>
> Similarly to command C-h m I would like to display those key bindings,
> though separate from C-h m screen.
>
> Something like this below would be fine:
>
> Key Binding
>
> Q rcd-db-kill-database-buffers
> U rcd-tabulated-remove-marks
> V rcd-tabulated-id-to-register
> d rcd-db-delete-tab-database-entry
>
> I would even prefer that key bindings have their description, so that
> instead of the name of function under "Binding" there appears human
> readable text something like "Remove Marks" instead of
> "rcd-tabulated-remove-marks".
>
>
Hi Jean-Louis,
If you have eev installed, try this:
(defvar rcd-db-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map tabulated-list-mode-map)
(define-key map (kbd "/") #'rcd-tabulated-filter)
(define-key map (kbd "G") #'goto-line)
(define-key map (kbd "Q") 'rcd-db-kill-database-buffers)
(define-key map (kbd "U") 'rcd-tabulated-remove-marks)
(define-key map (kbd "V") #'rcd-tabulated-id-to-register)
(define-key map (kbd "\\") #'rcd-tabulated-filter-reset)
(define-key map (kbd "d") #'rcd-db-delete-tab-database-entry)
(define-key map (kbd "e") #'rcd-db-edit-tab-database-entry)
(define-key map (kbd "g") #'rcd-tabulated-refresh)
(define-key map (kbd "j") #'next-line)
(define-key map (kbd "k") #'previous-line)
(define-key map (kbd "m") #'rcd-tabulated-mark-id)
(define-key map (kbd "u") #'rcd-tabulated-unmark-id)
(define-key map (kbd "z") #'rcd-tabulated-refresh)
map)
"The basic RCD database keymap")
(find-ekeymapdescr rcd-db-mode-map)
The source code of `find-ekeymapdescr' is here,
http://angg.twu.net/eev-current/eev-blinks.el.html#find-einternals
and it should be easy to adapt it to what you need.
Cheers,
Eduardo Ochs
http://angg.twu.net/#eev