Skip to content

Commit

Permalink
Add support for user-specified modifier keys.
Browse files Browse the repository at this point in the history
Just set `drag-stuff-modifier' to a symbol or list of symbols
representing the modifier keys you want before loading `drag-stuff'.
  • Loading branch information
mkhl committed Apr 4, 2010
1 parent 3ab7e19 commit ac95272
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions drag-stuff.el
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,21 @@
(eval-when-compile
(require 'cl))

(defvar drag-stuff-modifier 'meta
"Modifier key(s) for bindings in `drag-stuff-mode-map'.")

(defun drag-stuff--kbd (key)
(let ((mod (if (listp drag-stuff-modifier)
drag-stuff-modifier
(list drag-stuff-modifier))))
(vector (append mod (list key)))))

(defvar drag-stuff-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "<M-up>") 'drag-stuff-up)
(define-key map (kbd "<M-down>") 'drag-stuff-down)
(define-key map (kbd "<M-right>") 'drag-stuff-right)
(define-key map (kbd "<M-left>") 'drag-stuff-left)
(define-key map (drag-stuff--kbd 'up) 'drag-stuff-up)
(define-key map (drag-stuff--kbd 'down) 'drag-stuff-down)
(define-key map (drag-stuff--kbd 'right) 'drag-stuff-right)
(define-key map (drag-stuff--kbd 'left) 'drag-stuff-left)
map)
"Keymap for `drag-stuff-mode'.")

Expand Down

0 comments on commit ac95272

Please sign in to comment.