#114 shift-2 (@) doesn't work in 1.0a4


Since upgrading to 1.0a4 this morning (I also
installed the GLX libraries) shift-2 (the @ symbol)
gives me the wrong character, kind of like a right
angled character in emacs, but just gives a
sysbeep in the console. When I paste that
character back in the Aqua environment, it looks
like : Ũ

In my .xinitrc file I have:

xmodmap -e "keycode 59 = Delete BackSpace"

but I've always had that. XDarwin's prefs say it's
using the USA.keymapping, which should be fine.

Downgrading to XDarwin 1.0a3 eliminated the
problem, so it must be 1.0a4. I'm using MacOSX
10.1, with the latest updates applied, and gnome
and sawfish installed thanks to fink. Obviously
programming is tricky without the @ ;-).

I really appreciate you guys doing this work!


  • Mario Klebsch

    Mario Klebsch - 2001-11-07

    Swap XK_at and XK_notsign

  • Mario Klebsch

    Mario Klebsch - 2001-11-07

    Logged In: YES

    XK_AT and XK_NOTSIGN are swapped in the conversion table. The reason is, that Deutch.keymapping had some wrong entries. I started to build the conversion tab le character by character from the keymapping file. Later i discoverd a document describing the neXT character set and found, that this was the one used in the keyboard mapping files. At that time, I did not know, the keymapping files do have mistakes, so I made the mapping according to the files. I attached a patch, to swap the two keysyms.

    73, Mario

  • Nobody/Anonymous

    Logged In: NO

    Sorry for being ignorant - but I'm not sure what to do
    with the patch.

  • Torrey T. Lyons

    Torrey T. Lyons - 2001-11-08

    Logged In: YES

    Unfortunately, to use the patch you have to build XFree86 for yourself. The current CVS version of XFree86 includes Mario's patch, so you don't need to do anything special if you feel like rebuilding the whole thing. The next version of XDarwin will include this fix.

    In the meantime, however, for most people there is a much easier way. If you are using USA.keymapping simply add the following to your .xinitrc:

    xmodmap -e "keycode 27=2 at currency currency"

    If you are not using USA.keymapping you'll have to modify the string in quotes slightly using the following directions:

    1. Use xev to find the keycode that corresponds to the key you want the "@" symbol to be bound to. To do this start xev and then put the cursor in the xev window. Type the key and then read the keycode reported in the original terminal window you started xev in.2. Type "xmodmap -pke | grep -w <keycode>", where <keycode> is the number you found in step 1. So for example I would get:> xmodmap -pke | grep -w 27keycode 27 = 2 notsign currency currency3. Change "notsign" in the output to "at" and enter this as the expression to xmodmap. Thus, I use:xmodmap -e "keycode 27=2 at currency currency"

    P.S. You don't need to use the xmodmap -e "keycode 59 = Delete BackSpace" command anymore since XDarwin1.0a2.

  • Torrey T. Lyons

    Torrey T. Lyons - 2001-11-08
    • assigned_to: nobody --> mario_klebsch
    • status: open --> open-fixed
  • Nobody/Anonymous

    Logged In: NO

    Thanks - I added the line to my .xinitrc, and it works
    great now. I didn't remove my other xmodmap
    command, as I usually have problems in sqlplus
    running in an xterm from a remote server without it,
    though I can't remember if that was with 1.0a3 or

  • Torrey T. Lyons

    Torrey T. Lyons - 2001-12-06
    • status: open-fixed --> closed-fixed

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks