Skip to content

Commit

Permalink
Add layout for french keyboard numpad
Browse files Browse the repository at this point in the history
  • Loading branch information
glv2 committed Mar 17, 2019
1 parent d2f75c2 commit beac523
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions util/numpad-layouts/numpad-layouts.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,28 @@
(export '(set-numpad-layout))


(defparameter *layouts* '((us . ((87 10 . 16) (88 11 . 16) (89 12 . 16) (106 61 . 16)
(83 13 . 16) (84 14 . 16) (85 15 . 16) (86 21 . 17)
(79 16 . 16) (80 17 . 16) (81 18 . 16) (63 17 . 17)
(82 20 . 16) (104 36 . 16) (91 60 . 16) (90 19 . 17)))
(se . ((87 10 . 16) (88 11 . 16) (89 12 . 16) (106 61 . 16)
(83 13 . 16) (84 14 . 16) (85 15 . 16) (86 21 . 17)
(79 16 . 16) (80 17 . 16) (81 18 . 16) (63 17 . 17)
(82 20 . 16) (104 36 . 16) (91 60 . 16) (90 19 . 17))))
(defparameter *layouts*
'((us . ((87 10 . 16) (88 11 . 16) (89 12 . 16) (106 61 . 16)
(83 13 . 16) (84 14 . 16) (85 15 . 16) (86 21 . 17)
(79 16 . 16) (80 17 . 16) (81 18 . 16) (63 17 . 17)
(82 20 . 16) (104 36 . 16) (91 60 . 16) (90 19 . 17)))
(fr . ((87 10 . 17) (88 11 . 17) (89 12 . 17) (106 60 . 17)
(83 13 . 17) (84 14 . 17) (85 15 . 17) (86 21 . 17)
(79 16 . 17) (80 17 . 17) (81 18 . 17) (63 51 . 16)
(82 15 . 16) (104 36 . 16) (91 59 . 17) (90 19 . 17)))
(se . ((87 10 . 16) (88 11 . 16) (89 12 . 16) (106 61 . 16)
(83 13 . 16) (84 14 . 16) (85 15 . 16) (86 21 . 17)
(79 16 . 16) (80 17 . 16) (81 18 . 16) (63 17 . 17)
(82 20 . 16) (104 36 . 16) (91 60 . 16) (90 19 . 17))))
"An alist of numpad layouts for non-standard keyboards that move the
locations of 0-9 and the symbols on a numpad (typically -,*,+ and
=).")
locations of 0-9 and the symbols on a numpad (typically -,*,+ and =).")

(defun set-numpad-layout (layout-name)
"Sets the `*numpad-map*' that StumpWM uses to map numpad keys to
the main keyboard when the NumLock key is active."
(if (symbolp layout-name)
(let (layout (rest (assoc layout-name *layouts*)))
(if layout
(setf stumpwm:*numpad-map* layout)
(error "~a is not a supported layout" layout-name)))
(let ((layout (rest (assoc layout-name *layouts* :test #'string=))))
(if layout
(setf stumpwm:*numpad-map* layout)
(error "~a is not a supported layout" layout-name)))
(error "~a is not of type symbol" layout-name)))

0 comments on commit beac523

Please sign in to comment.