Fixe unmap-notify request
[clfswm.git] / contrib / keyb_fr.lisp
blobc0cdfc75526d538ca3db390e52c8c7d536d3934b
1 ;;; --------------------------------------------------------------------------
2 ;;; CLFSWM - FullScreen Window Manager
3 ;;;
4 ;;; --------------------------------------------------------------------------
5 ;;; Documentation: Define some keybindings for an azerty french keyboard
6 ;;; --------------------------------------------------------------------------
7 ;;;
8 ;;; (C) 2012 Philippe Brochard <pbrochard@common-lisp.net>
9 ;;;
10 ;;; This program is free software; you can redistribute it and/or modify
11 ;;; it under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 3 of the License, or
13 ;;; (at your option) any later version.
14 ;;;
15 ;;; This program is distributed in the hope that it will be useful,
16 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details.
19 ;;;
20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with this program; if not, write to the Free Software
22 ;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 ;;;
24 ;;; Documentation: French keyboard layout.
25 ;;; If you want to use this file, just add this line in
26 ;;; your configuration file:
27 ;;;
28 ;;; (load-contrib "keyb_fr.lisp")
29 ;;;
30 ;;; --------------------------------------------------------------------------
32 (in-package :clfswm)
34 (format t "Loading French Keyboard code... ")
36 (defun fr-binding ()
37 ;; For an azery keyboard:
38 ;; Main mode
39 (undefine-main-multi-keys ("1" :mod-1) ("2" :mod-1) ("3" :mod-1)
40 ("4" :mod-1) ("5" :mod-1) ("6" :mod-1)
41 ("7" :mod-1) ("8" :mod-1) ("9" :mod-1) ("0" :mod-1))
42 (define-main-key ("twosuperior") 'banish-pointer)
43 (define-main-key ("ampersand" :mod-1) 'bind-or-jump 1)
44 (define-main-key ("eacute" :mod-1) 'bind-or-jump 2)
45 (define-main-key ("quotedbl" :mod-1) 'bind-or-jump 3)
46 (define-main-key ("quoteright" :mod-1) 'bind-or-jump 4)
47 (define-main-key ("parenleft" :mod-1) 'bind-or-jump 5)
48 (define-main-key ("minus" :mod-1) 'bind-or-jump 6)
49 (define-main-key ("egrave" :mod-1) 'bind-or-jump 7)
50 (define-main-key ("underscore" :mod-1) 'bind-or-jump 8)
51 (define-main-key ("ccedilla" :mod-1) 'bind-or-jump 9)
52 (define-main-key ("agrave" :mod-1) 'bind-or-jump 10)
53 ;; Second mode
54 (undefine-second-multi-keys ("1" :mod-1) ("2" :mod-1) ("3" :mod-1)
55 ("4" :mod-1) ("5" :mod-1) ("6" :mod-1)
56 ("7" :mod-1) ("8" :mod-1) ("9" :mod-1) ("0" :mod-1))
57 (define-second-key ("twosuperior") 'banish-pointer)
58 (define-second-key ("ampersand" :mod-1) 'bind-or-jump 1)
59 (define-second-key ("eacute" :mod-1) 'bind-or-jump 2)
60 (define-second-key ("quotedbl" :mod-1) 'bind-or-jump 3)
61 (define-second-key ("quoteright" :mod-1) 'bind-or-jump 4)
62 (define-second-key ("parenleft" :mod-1) 'bind-or-jump 5)
63 (define-second-key ("minus" :mod-1) 'bind-or-jump 6)
64 (define-second-key ("egrave" :mod-1) 'bind-or-jump 7)
65 (define-second-key ("underscore" :mod-1) 'bind-or-jump 8)
66 (define-second-key ("ccedilla" :mod-1) 'bind-or-jump 9)
67 (define-second-key ("agrave" :mod-1) 'bind-or-jump 10))
69 (unless (member 'fr-binding *binding-hook*)
70 (add-hook *binding-hook* 'fr-binding))
72 (format t "done~%")