Skip to content

Instantly share code, notes, and snippets.

@bjorne
Created September 27, 2012 21:35
Show Gist options
  • Select an option

  • Save bjorne/3796607 to your computer and use it in GitHub Desktop.

Select an option

Save bjorne/3796607 to your computer and use it in GitHub Desktop.

Revisions

  1. bjorne created this gist Sep 27, 2012.
    29 changes: 29 additions & 0 deletions free-keys.el
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,29 @@
    (setq free-keys-modifiers (list "C" "M" "C-M"))
    (setq free-keys-keys "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,/§1234567890-=[];'\\`±!@#$%^&*()_+}{:\"|?><~")

    (defun free-keys ()
    (interactive)
    (let ((buf (get-buffer-create "*Free keys*")))
    (display-buffer buf)
    (with-current-buffer buf
    (erase-buffer)
    (mapc (lambda (modifier)
    (insert "\nFree keys with modifier " modifier "\n=========================\n")
    (mapc (lambda (key)
    (let* ((full-name
    (concat modifier "-" (char-to-string key)))
    (binding
    (key-binding (read-kbd-macro full-name))))
    (when (not binding)
    (insert
    full-name
    " maps to "
    (symbol-name binding)
    "\n"))))
    free-keys-keys))
    free-keys-modifiers)
    (setq buffer-read-only t)
    (make-local-variable 'buffer-read-only)
    (goto-char 0))))

    (provide 'free-keys)