Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm on a Swedish keyboard, a keyboard which is loaded with dead keys, that is, to produce an 'ä' I would press " (the same button as ~/^) and then a (or press the dedicated ä-button...), and to produce a " I would press the same button followed by a space. The same with ` and other similar keys.

The thing is, I tend to use ` more and more these days. And pressing Shift, ` and then Space every time I need a simple ` isn't as fun as it would seem. And I'm a Emacs-fanboy, I usually like wierd keyboard-combos.

Anyhow, I would like to remap my `'±-button to outputing (preferably) only `, like it does on my Mac. I can live with it outputing the other dead keys, as long as it outputs ` without any additional keystrokes.

I'm mainly using X11 (X.org, Archlinux etc) on this computer. I'm using a keyboard layout called Svorak A5, it if makes any difference. I tried to modifiy this file according to how the english dvorak layout looks, but couldn't make it work at all. I would prefer not using Xmodmap, but it's really not a problem. Any ideas?

share|improve this question

migrated from stackoverflow.com Nov 14 '10 at 22:40

This question came from our site for professional and enthusiast programmers.

2 Answers 2

up vote 2 down vote accepted

Ask Magnus to append the following lines to his file (or do it yourself :-)):

partial alphanumeric_keys xkb_symbols "svorak_nodeadkeys" {
    include "magnus_xkb_se(svorak)"
    name[Group1]="Svorak A5 - Eliminate dead keys";
    key <AD12> { [ dead_diaeresis, asciicircum, asciitilde, dead_circum ] };
    key <AE12> { [ acute,          grave,       plusminus,  none        ] };
};

Here I assume that you want to keep the diaeresis ¨ as a dead key, as I don't know of any programming languages or system commands that actually needs this character. Otherwise, the mapping is the same.

Personally, I would have changed the definition for the AD12 key into:

    key <AD12> { [ asciitilde, asciicircum, dead_diaeresis, dead_circum ] };

as the keyboard layout already have Ö as a separate character, and tilde ~ is used quite often in Unix.

Activate with this command:

setxkbmap -layout magnus_xkb_se -variant svorak_nodeadkeys

Note that if magnus_xkb_se is not the name of the file in which the layout resides, you must change them accordingly -- both in the file and the command -- for instance if you were told to append everything into the main se file.

share|improve this answer

Greetings from Finland - as you might know we have the same set of alphabets as you. I have a Svorak layout file that works just like Finnish (and I assume Swedish too) QWERTY, except that the layout is Svorak. Not many dead keys, no more than the few that are set as dead keys in default Finnish QWERTY too...

This file is for Xmodmap though, but it works just as well as any - and the command to change into Svorak is short: "xmodmap ~/.svorak (naturally I have set it to run automatically when starting X server - but I also have "script" files to change between QWERTY and Svorak binded to launcher buttons in gkrellm (for visitors, I use Svorak only).

It's a bit long but I'll paste the content of my .svorak file here - it's for Xmodmap but it will solve your problem - and if you still want to eliminate those few dead keys left it is very simple in syntax :)

keycode   8 =
keycode   9 = Escape
keycode  10 = 1 exclam onesuperior exclamdown
keycode  11 = 2 quotedbl at oneeighth
keycode  12 = 3 numbersign sterling sterling
keycode  13 = 4 currency dollar dollar
keycode  14 = 5 percent onehalf threeeighths
keycode  15 = 6 ampersand threequarters fiveeighths
keycode  16 = 7 slash braceleft seveneighths
keycode  17 = 8 parenleft bracketleft trademark
keycode  18 = 9 parenright bracketright plusminus
keycode  19 = 0 equal braceright degree
keycode  20 = plus question backslash questiondown
keycode  21 = acute grave dead_cedilla dead_ogonek
keycode  22 = BackSpace Terminate_Server
keycode  23 = Tab ISO_Left_Tab
keycode  24 = aring Aring dead_diaeresis dead_abovering
keycode  25 = adiaeresis Adiaeresis dead_circumflex dead_caron
keycode  26 = odiaeresis Odiaeresis dead_acute dead_doubleacute
keycode  27 = p P thorn THORN
keycode  28 = y Y leftarrow yen
keycode  29 = f F dstroke ordfeminine
keycode  30 = g G eng ENG
keycode  31 = c C cent copyright
keycode  32 = r R paragraph registered
keycode  33 = l L lstroke Lstroke
keycode  34 = comma semicolon horizconnector multiply
keycode  35 = dead_diaeresis asciicircum dead_tilde dead_macron
keycode  36 = Return
keycode  37 = Control_L
keycode  38 = a A ae AE
keycode  39 = o O oslash Oslash
keycode  40 = e E EuroSign cent EuroSign cent
keycode  41 = u U downarrow uparrow
keycode  42 = i I rightarrow idotless
keycode  43 = d D eth ETH
keycode  44 = h H hstroke Hstroke
keycode  45 = t T tslash Tslash
keycode  46 = n N
keycode  47 = s S ssharp section
keycode  48 = minus underscore dead_belowdot dead_abovedot
keycode  49 = section onehalf notsign
keycode  50 = Shift_L
keycode  51 = apostrophe asterisk dead_grave dead_breve
keycode  52 = period colon periodcentered division
keycode  53 = q Q at Greek_OMEGA
keycode  54 = j J
keycode  55 = k K kra ampersand
keycode  56 = x X guillemotright greater
keycode  57 = b B rightdoublequotemark apostrophe
keycode  58 = m M mu masculine
keycode  59 = w W lstroke Lstroke
keycode  60 = v V leftdoublequotemark grave
keycode  61 = z Z guillemotleft less
keycode  62 = Shift_R
keycode  63 = KP_Multiply
keycode  64 = Alt_L Meta_L
keycode  65 = space
keycode  66 = Caps_Lock
keycode  67 = F1 XF86_Switch_VT_1
keycode  68 = F2 XF86_Switch_VT_2
keycode  69 = F3 XF86_Switch_VT_3
keycode  70 = F4 XF86_Switch_VT_4
keycode  71 = F5 XF86_Switch_VT_5
keycode  72 = F6 XF86_Switch_VT_6
keycode  73 = F7 XF86_Switch_VT_7
keycode  74 = F8 XF86_Switch_VT_8
keycode  75 = F9 XF86_Switch_VT_9
keycode  76 = F10 XF86_Switch_VT_10
keycode  77 = Num_Lock Pointer_EnableKeys
keycode  78 = Scroll_Lock
keycode  79 = KP_Home KP_7
keycode  80 = KP_Up KP_8
keycode  81 = KP_Prior KP_9
keycode  82 = KP_Subtract XF86_Prev_VMode
keycode  83 = KP_Left KP_4
keycode  84 = KP_Begin KP_5
keycode  85 = KP_Right KP_6
keycode  86 = KP_Add XF86_Next_VMode
keycode  87 = KP_End KP_1
keycode  88 = KP_Down KP_2
keycode  89 = KP_Next KP_3
keycode  90 = KP_Insert KP_0
keycode  91 = KP_Delete KP_Separator
keycode  92 =
keycode  93 = Mode_switch
keycode  94 = less greater bar brokenbar
keycode  95 = F11 XF86_Switch_VT_11
keycode  96 = F12 XF86_Switch_VT_12
keycode  97 = Home
keycode  98 = Up
keycode  99 = Prior
keycode 100 = Left
keycode 101 =
keycode 102 = Right
keycode 103 = End
keycode 104 = Down
keycode 105 = Next
keycode 106 = Insert
keycode 107 = Delete
keycode 108 = KP_Enter
keycode 109 = Control_R
keycode 110 = Pause Break
keycode 111 = Print Execute
keycode 112 = KP_Divide XF86_Ungrab
keycode 113 = Mode_switch
keycode 114 =
keycode 115 = Super_L
keycode 116 = Multi_key
keycode 117 = Menu
keycode 118 =
keycode 119 =
keycode 120 =
keycode 121 =
keycode 122 =
keycode 123 =
keycode 124 = ISO_Level3_Shift
keycode 125 = NoSymbol Alt_L
keycode 126 = KP_Equal
keycode 127 = NoSymbol Super_L
keycode 128 = NoSymbol Hyper_L
keycode 129 =
keycode 130 =
keycode 131 =
keycode 132 =
keycode 133 =
keycode 134 =
keycode 135 =
keycode 136 =
keycode 137 =
keycode 138 =
keycode 139 =
keycode 140 =
keycode 141 =
keycode 142 =
keycode 143 =
keycode 144 =
keycode 145 =
keycode 146 =
keycode 147 =
keycode 148 =
keycode 149 =
keycode 150 =
keycode 151 =
keycode 152 =
keycode 153 =
keycode 154 =
keycode 155 =
keycode 156 = NoSymbol Meta_L
keycode 157 =
keycode 158 =
keycode 159 =
keycode 160 =
keycode 161 =
keycode 162 =
keycode 163 =
keycode 164 =
keycode 165 =
keycode 166 =
keycode 167 =
keycode 168 =
keycode 169 =
keycode 170 =
keycode 171 =
keycode 172 =
keycode 173 =
keycode 174 =
keycode 175 =
keycode 176 =
keycode 177 =
keycode 178 =
keycode 179 =
keycode 180 =
keycode 181 =
keycode 182 =
keycode 183 =
keycode 184 =
keycode 185 =
keycode 186 =
keycode 187 =
keycode 188 =
keycode 189 =
keycode 190 =
keycode 191 =
keycode 192 =
keycode 193 =
keycode 194 =
keycode 195 =
keycode 196 =
keycode 197 =
keycode 198 =
keycode 199 =
keycode 200 =
keycode 201 =
keycode 202 =
keycode 203 =
keycode 204 =
keycode 205 =
keycode 206 =
keycode 207 =
keycode 208 =
keycode 209 =
keycode 210 =
keycode 211 =
keycode 212 =
keycode 213 =
keycode 214 =
keycode 215 =
keycode 216 =
keycode 217 =
keycode 218 =
keycode 219 =
keycode 220 =
keycode 221 =
keycode 222 =
keycode 223 =
keycode 224 =
keycode 225 =
keycode 226 =
keycode 227 =
keycode 228 =
keycode 229 =
keycode 230 =
keycode 231 =
keycode 232 =
keycode 233 =
keycode 234 =
keycode 235 =
keycode 236 =
keycode 237 =
keycode 238 =
keycode 239 =
keycode 240 =
keycode 241 =
keycode 242 =
keycode 243 =
keycode 244 =
keycode 245 =
keycode 246 =
keycode 247 =
keycode 248 =
keycode 249 =
keycode 250 =
keycode 251 =
keycode 252 =
keycode 253 =
keycode 254 =
keycode 255 =

Oh, and in case you too need a way to quickly switch between Svorak and QWERTY, well for QWERTY I use setxkbmap, the command I use for that is:

setxkbmap -layout fi -model pc105 -option

Should be easy to figure out a swedish equivalent - although they are probably exactly the same anyway... Hope this helps and best of luck for you :)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.