From: Eduardo Ochs <eduardoochs@gmail.com>
To: Jean Louis <bugs@gnu.support>
Cc: Help GNU Emacs <help-gnu-emacs@gnu.org>
Subject: Re: Is there any handy way to view a custom key map?
Date: Sat, 15 Jan 2022 13:19:51 -0300 [thread overview]
Message-ID: <CADs++6hwjahktC8PAx=Wsa3A2spLBaORFuud2LTzX2fYq-w=4Q@mail.gmail.com> (raw)
In-Reply-To: <courier.0000000061E2E1CF.000028E0@stw1.rcdrun.com>
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
next prev parent reply other threads:[~2022-01-15 16:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-15 15:02 Is there any handy way to view a custom key map? Jean Louis
2022-01-15 15:19 ` Eli Zaretskii
2022-01-15 16:39 ` Jean Louis
2022-01-15 15:46 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-01-15 16:41 ` Jean Louis
2022-01-15 16:19 ` Eduardo Ochs [this message]
2022-01-15 16:44 ` Jean Louis
2022-01-15 17:06 ` Michael Heerdegen
2022-01-15 17:44 ` Jean Louis
2022-01-15 23:05 ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-01-16 15:05 ` Samuel Banya
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CADs++6hwjahktC8PAx=Wsa3A2spLBaORFuud2LTzX2fYq-w=4Q@mail.gmail.com' \
--to=eduardoochs@gmail.com \
--cc=bugs@gnu.support \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.