Re: using MOD4 (aka super or "window key") as keyboard shortcut *modifier*



Hi,

I don't know why but my message didn't appeared to the list. So I send
it again with attachements inline.

Le Tue 15/05/2007 à 19:43 Allan Gottlieb à écrit:
> I would like to use mod4 as a modifier key for keyboard shortcuts.
> 
> That is Super_L is being viewed as a key not a modifier.
> 
> As I said, this is only for trying to create new shortcuts.
> If I type mod4-t, I get a gnome-terminal since I created
> that shortcut quite a while ago.
> 
> I do not need to have a graphical tool, a text based method would be
> fine.
> 
> thanks,
> allan

If someone knows how to do that, please answer.

Actually you can work around this particular problem by changing your
keyboard map. But after that you'll have the same problem as i have,
that is the Super key can't be a modifier for shortcut of normal
applications like Gnome-terminar or Epiphany :(
Maybe it works for you, then you're lucky. But the problem I had is
that when I assign for example the Super+T shortcut to create a new tab
in gnome-terminal, whenever I type 'T' alone it will open a new tab.

You can look at some related bugs:
http://bugzilla.gnome.org/show_bug.cgi?id=165343
http://bugzilla.gnome.org/show_bug.cgi?id=427409
http://bugzilla.gnome.org/show_bug.cgi?id=433142

Actually the solution I found it to change the xkb map to put the
control key on the physical super key (the apple key in my case) and
put the super key on the physical control key.
Then I have all my shortcuts with the super key. Unfortunately there is
still the problem in gnome-terminal that the physican control key don"t
send control characters any more. I have to use my apple key for that.
I hope it will be possible to change that so I filled the bug #433142

It is possible to change the common shortcuts (such as Ctrl-X/C/V)
using the gtkrc file. But it doesn't work everywhere. It is the same
with the kde apps. In some cases the ctrl sorrtcuts are still in use.

Attached my gtkrc file and my xkb map that modify the position of the
super and ctrl keys. To load the xkb map, just use the command
	xkbcomp xkbmapfile "$DISPLAY"
To use the gtkrc file, just place it in
	~/.themes/Themename/gtk-2.0-key/gtkrc
Then modigy the following gconf key:
	/desktop/gnome/interface/gtk_key_theme = "Themename"

Hope this helps

If you succeed to have all your shortcuts mapped to the super ley,
please tell me.

Mildred


attachement: gtkrc

binding "gtk-mildred-file-chooser"
{
  bind "<Super>l" { "location-popup" () }
}

binding "gtk-mildred-clipboard"
{
  bind "<Super>x" { "cut-clipboard" () }
  bind "<Super>c" { "copy-clipboard" () }
  bind "<Super>v" { "paste-clipboard" () }
}

class "GtkFileChooser" binding "gtk-mildred-file-chooser"
class "*" binding "gtk-mildred-clipboard"

# kate: indent-width 2; space-indent on;





attachement default.xkb

// See /usr/share/X11/xkb/

xkb_keymap {
    xkb_keycodes  {
        include "macintosh+macintosh(goodmap)+aliases(azerty)"
    };
    xkb_types     {
        include "complete+numpad(mac)"
        type "CTRL+ALT" {
            // Alt and Mod4 defined in symbols with modifier_map
            modifiers = Mod4+Alt;
            map[Mod4+Alt] = Level2;
            level_name[Level1] = "Base";
            level_name[Level2] = "Ctrl+Alt";
        };
    };
    xkb_compat    {
        include "complete"
    };
    xkb_symbols   {
        include "pc+macintosh_vndr/fr+inet(apple)+level3(enter_switch)"
        key <LCTL> { [ Super_L       ] };
        key <LWIN> { [ Control_L     ] };
        key <RCTL> { [ Super_R       ] };
        key <RWIN> {
            type[Group1] = "THREE_LEVEL",
            symbols[Group1] = [ Control_R, Control_R, Multi_key ]
        };
        key <BKSL> { [ grave, sterling, at, numbersign ] };

    };
    xkb_geometry  {
        include "macintosh(macbook79)"
    };
};


-- 
Mildred       <xmpp:mildred jabber fr> <http://mildred632.free.fr/>
Clef GPG :    <hkp://pgp.mit.edu> ou <http://mildred632.free.fr/gpg_key>
Fingerprint : 197C A7E6 645B 4299 6D37 684B 6F9D A8D6 [9A7D 2E2B]



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]