From rm at seid-online.de Mon Nov 27 15:21:08 2006 From: rm at seid-online.de (Ralf Mattes) Date: Mon, 27 Nov 2006 16:21:08 +0100 Subject: [eclipse-devel] Ping and a question about modifier keys Message-ID: <1164640868.8871.3.camel@localhost.localdomain> Hello list, looking at the archives i'm not shure anybody listens :-/ I'd like to pick up a thread started by Xavier Maillard last year: I try to use my 'Microsoft'-Key as the main key to interact with eclipse. That key is known it X as the Super_L key (according to xev). I tried to create bindings like this: (define-key-combo :switch-screen-left :keys '(:LEFT) :modifiers '(:SUPER-LEFT)) but eclipse refuses to acccept the modifier. The same happens when i asign META to the MS-Key. Looking at *modifier->modifier-mask* i get: EWMI> kb::*modifier->modifier-mask* (:ISO-LEVEL3-SHIFT 256 :MODE-SWITCH 128 :NUM-LOCK 16 NIL 144 :ALT-LEFT 8 :CONTROL-LEFT 4 :CONTROL-RIGHT 4 :CAPS-LOCK 4 :SHIFT-RIGHT 1 :SHIFT-LEFT 1 :ANY 32768) with both META and SUPER_L missing. Any ideas? Cheers, Ralf Mattes From hatchond at yahoo.fr Tue Nov 28 09:28:47 2006 From: hatchond at yahoo.fr (Iban HATCHONDO) Date: Tue, 28 Nov 2006 09:28:47 +0000 (GMT) Subject: [eclipse-devel] Ping and a question about modifier keys Message-ID: <20061128092847.66597.qmail@web27615.mail.ukl.yahoo.com> Hi all, thanks for comming back on this thread, At the time Xavier has posted his question, I didn't realize we were having a bug in keyboard::make-modifier-mask-table and were missing a point with X keyboard handling. Can you please try the following (it seems to be working on my side.) in lib/clx-ext/keysyms.lisp replace definition of make-modifier-mask-table for the following one: (defun make-modifier-mask-table (disp) (loop with map = '(:any #x8000) with keysyms-per-keycode = (array-dimension (xlib:keyboard-mapping disp) 1) for mods in (multiple-value-list (xlib:modifier-mapping disp)) for i = 1 then (* 2 i) do (loop for mod in mods for key-name = (modcode->keyname disp mod keysyms-per-keycode) for prec = (getf map key-name) do (setf (getf map key-name) (logior (if (numberp prec) prec 0) i))) finally (return map))) and add this new function: (defun modcode->keyname (disp keycode keysyms-per-keycode) "Returns the keyword that named the specified modifier keycode." ;; This has been created to deal with X keyboard wierd mapping. ;; For some reasons, for few keys the first keysym in the list, ;; modifiers keysym in particular, does not exists. So lets try ;; to resolve it anyway looking further in the array. (loop for i from 0 below keysyms-per-keycode for keysym = (xlib:keycode->keysym disp keycode i) when (> keysym 0) do (return (keysym->keyname keysym)))) For info, here is now the content of kb::*modifier->modifier-mask* (:ISO-LEVEL3-SHIFT 128 :MODE-SWITCH 128 :HYPER-LEFT 64 :SUPER-LEFT 64 :NUM-LOCK 16 :META-LEFT 8 :ALT-LEFT 8 :CONTROL-RIGHT 4 :CONTROL-LEFT 4 :CAPS-LOCK 2 :SHIFT-RIGHT 1 :SHIFT-LEFT 1 :ANY 32768) Cheers, Iban. ----- Message d'origine ---- De : Ralf Mattes ? : eclipse-wm Envoy? le : Lundi, 27 Novembre 2006, 16h21mn 08s Objet : [eclipse-devel] Ping and a question about modifier keys Hello list, looking at the archives i'm not shure anybody listens :-/ I'd like to pick up a thread started by Xavier Maillard last year: I try to use my 'Microsoft'-Key as the main key to interact with eclipse. That key is known it X as the Super_L key (according to xev). I tried to create bindings like this: (define-key-combo :switch-screen-left :keys '(:LEFT) :modifiers '(:SUPER-LEFT)) but eclipse refuses to acccept the modifier. The same happens when i asign META to the MS-Key. Looking at *modifier->modifier-mask* i get: EWMI> kb::*modifier->modifier-mask* (:ISO-LEVEL3-SHIFT 256 :MODE-SWITCH 128 :NUM-LOCK 16 NIL 144 :ALT-LEFT 8 :CONTROL-LEFT 4 :CONTROL-RIGHT 4 :CAPS-LOCK 4 :SHIFT-RIGHT 1 :SHIFT-LEFT 1 :ANY 32768) with both META and SUPER_L missing. Any ideas? Cheers, Ralf Mattes _______________________________________________ eclipse-devel site list eclipse-devel at common-lisp.net http://common-lisp.net/mailman/listinfo/eclipse-devel ___________________________________________________________________________ D?couvrez une nouvelle fa?on d'obtenir des r?ponses ? toutes vos questions ! Profitez des connaissances, des opinions et des exp?riences des internautes sur Yahoo! Questions/R?ponses http://fr.answers.yahoo.com From rm at seid-online.de Tue Nov 28 10:37:06 2006 From: rm at seid-online.de (Ralf Mattes) Date: Tue, 28 Nov 2006 11:37:06 +0100 Subject: [eclipse-devel] Ping and a question about modifier keys In-Reply-To: <20061128092847.66597.qmail@web27615.mail.ukl.yahoo.com> References: <20061128092847.66597.qmail@web27615.mail.ukl.yahoo.com> Message-ID: <1164710227.9280.1.camel@localhost.localdomain> On Tue, 2006-11-28 at 09:28 +0000, Iban HATCHONDO wrote: > Hi all, Hi Iban, BINGO - everything works as expected now. Now eclipse will be even more useful to me. Thanks for your work and that quick fix. Cheers RalfD > thanks for comming back on this thread, > At the time Xavier has posted his question, I didn't realize we were having a bug in keyboard::make-modifier-mask-table and were missing a point with X keyboard handling. > > Can you please try the following (it seems to be working on my side.) > > in lib/clx-ext/keysyms.lisp > > replace definition of make-modifier-mask-table for the following one: > > (defun make-modifier-mask-table (disp) > (loop with map = '(:any #x8000) > with keysyms-per-keycode = (array-dimension (xlib:keyboard-mapping disp) 1) > for mods in (multiple-value-list (xlib:modifier-mapping disp)) > for i = 1 then (* 2 i) do > (loop for mod in mods > for key-name = (modcode->keyname disp mod keysyms-per-keycode) > for prec = (getf map key-name) do > (setf (getf map key-name) (logior (if (numberp prec) prec 0) i))) > finally (return map))) > > and add this new function: > > (defun modcode->keyname (disp keycode keysyms-per-keycode) > "Returns the keyword that named the specified modifier keycode." > ;; This has been created to deal with X keyboard wierd mapping. > ;; For some reasons, for few keys the first keysym in the list, > ;; modifiers keysym in particular, does not exists. So lets try > ;; to resolve it anyway looking further in the array. > (loop for i from 0 below keysyms-per-keycode > for keysym = (xlib:keycode->keysym disp keycode i) > when (> keysym 0) do (return (keysym->keyname keysym)))) > > > For info, here is now the content of kb::*modifier->modifier-mask* > > (:ISO-LEVEL3-SHIFT 128 > :MODE-SWITCH 128 > :HYPER-LEFT 64 > :SUPER-LEFT 64 > :NUM-LOCK 16 > :META-LEFT 8 > :ALT-LEFT 8 > :CONTROL-RIGHT 4 > :CONTROL-LEFT 4 > :CAPS-LOCK 2 > :SHIFT-RIGHT 1 > :SHIFT-LEFT 1 > :ANY 32768) > > Cheers, > Iban. > > ----- Message d'origine ---- > De : Ralf Mattes > ? : eclipse-wm > Envoy? le : Lundi, 27 Novembre 2006, 16h21mn 08s > Objet : [eclipse-devel] Ping and a question about modifier keys > > Hello list, > > looking at the archives i'm not shure anybody listens :-/ > I'd like to pick up a thread started by Xavier Maillard last > year: > > I try to use my 'Microsoft'-Key as the main key to interact > with eclipse. > That key is known it X as the Super_L key (according to xev). I > tried to > create bindings like this: > > (define-key-combo :switch-screen-left > :keys '(:LEFT) > :modifiers '(:SUPER-LEFT)) > > but eclipse refuses to acccept the modifier. The same happens > when i > asign META to the MS-Key. > > Looking at *modifier->modifier-mask* i get: > > EWMI> kb::*modifier->modifier-mask* > (:ISO-LEVEL3-SHIFT 256 > :MODE-SWITCH 128 > :NUM-LOCK 16 > NIL 144 > :ALT-LEFT 8 > :CONTROL-LEFT 4 > :CONTROL-RIGHT 4 > :CAPS-LOCK 4 > :SHIFT-RIGHT 1 > :SHIFT-LEFT 1 > :ANY 32768) > > with both META and SUPER_L missing. Any ideas? > > Cheers, Ralf Mattes > > > > > _______________________________________________ > eclipse-devel site list > eclipse-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/eclipse-devel > > > > > > > > > > ___________________________________________________________________________ > D?couvrez une nouvelle fa?on d'obtenir des r?ponses ? toutes vos questions ! > Profitez des connaissances, des opinions et des exp?riences des internautes sur Yahoo! Questions/R?ponses > http://fr.answers.yahoo.com From hatchond at yahoo.fr Tue Nov 28 20:32:48 2006 From: hatchond at yahoo.fr (Iban HATCHONDO) Date: Tue, 28 Nov 2006 20:32:48 +0000 (GMT) Subject: [eclipse-devel] Ping and a question about modifier keys Message-ID: <20061128203248.37932.qmail@web27614.mail.ukl.yahoo.com> Committed in revision 1.9 of lib/clx-ext/keysyms.lisp Thanks Ralf. ----- Message d'origine ---- De : Iban HATCHONDO ? : rm at seid-online.de; eclipse-wm Envoy? le : Mardi, 28 Novembre 2006, 10h28mn 47s Objet : Re : [eclipse-devel] Ping and a question about modifier keys Hi all, thanks for comming back on this thread, At the time Xavier has posted his question, I didn't realize we were having a bug in keyboard::make-modifier-mask-table and were missing a point with X keyboard handling. Can you please try the following (it seems to be working on my side.) in lib/clx-ext/keysyms.lisp replace definition of make-modifier-mask-table for the following one: (defun make-modifier-mask-table (disp) (loop with map = '(:any #x8000) with keysyms-per-keycode = (array-dimension (xlib:keyboard-mapping disp) 1) for mods in (multiple-value-list (xlib:modifier-mapping disp)) for i = 1 then (* 2 i) do (loop for mod in mods for key-name = (modcode->keyname disp mod keysyms-per-keycode) for prec = (getf map key-name) do (setf (getf map key-name) (logior (if (numberp prec) prec 0) i))) finally (return map))) and add this new function: (defun modcode->keyname (disp keycode keysyms-per-keycode) "Returns the keyword that named the specified modifier keycode." ;; This has been created to deal with X keyboard wierd mapping. ;; For some reasons, for few keys the first keysym in the list, ;; modifiers keysym in particular, does not exists. So lets try ;; to resolve it anyway looking further in the array. (loop for i from 0 below keysyms-per-keycode for keysym = (xlib:keycode->keysym disp keycode i) when (> keysym 0) do (return (keysym->keyname keysym)))) For info, here is now the content of kb::*modifier->modifier-mask* (:ISO-LEVEL3-SHIFT 128 :MODE-SWITCH 128 :HYPER-LEFT 64 :SUPER-LEFT 64 :NUM-LOCK 16 :META-LEFT 8 :ALT-LEFT 8 :CONTROL-RIGHT 4 :CONTROL-LEFT 4 :CAPS-LOCK 2 :SHIFT-RIGHT 1 :SHIFT-LEFT 1 :ANY 32768) Cheers, Iban. ----- Message d'origine ---- De : Ralf Mattes ? : eclipse-wm Envoy? le : Lundi, 27 Novembre 2006, 16h21mn 08s Objet : [eclipse-devel] Ping and a question about modifier keys Hello list, looking at the archives i'm not shure anybody listens :-/ I'd like to pick up a thread started by Xavier Maillard last year: I try to use my 'Microsoft'-Key as the main key to interact with eclipse. That key is known it X as the Super_L key (according to xev). I tried to create bindings like this: (define-key-combo :switch-screen-left :keys '(:LEFT) :modifiers '(:SUPER-LEFT)) but eclipse refuses to acccept the modifier. The same happens when i asign META to the MS-Key. Looking at *modifier->modifier-mask* i get: EWMI> kb::*modifier->modifier-mask* (:ISO-LEVEL3-SHIFT 256 :MODE-SWITCH 128 :NUM-LOCK 16 NIL 144 :ALT-LEFT 8 :CONTROL-LEFT 4 :CONTROL-RIGHT 4 :CAPS-LOCK 4 :SHIFT-RIGHT 1 :SHIFT-LEFT 1 :ANY 32768) with both META and SUPER_L missing. Any ideas? Cheers, Ralf Mattes _______________________________________________ eclipse-devel site list eclipse-devel at common-lisp.net http://common-lisp.net/mailman/listinfo/eclipse-devel ___________________________________________________________________________ D?couvrez une nouvelle fa?on d'obtenir des r?ponses ? toutes vos questions ! Profitez des connaissances, des opinions et des exp?riences des internautes sur Yahoo! Questions/R?ponses http://fr.answers.yahoo.com _______________________________________________ eclipse-devel site list eclipse-devel at common-lisp.net http://common-lisp.net/mailman/listinfo/eclipse-devel ___________________________________________________________________________ D?couvrez une nouvelle fa?on d'obtenir des r?ponses ? toutes vos questions ! Profitez des connaissances, des opinions et des exp?riences des internautes sur Yahoo! Questions/R?ponses http://fr.answers.yahoo.com