Kevin Carruthers on 17 Sep 2004 02:54:02 -0000


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

Re: [PLUG] deadkeys


On Thu, 2004-09-16 at 20:15, Art Alexion wrote:
> Kevin Carruthers wrote:
> 
> >On Thu, 2004-09-16 at 18:37, Art Alexion wrote:
> >  
> >
> >>Jeff's email on accented characters reminded me of this problem.  When I 
> >>installed this distro, I decided to use the deadkeys keyboard option 
> >>since I could never get linux to use the alt+(ansi code on num pad) that 
> >>works for me in windows and was supposed to work in Linux also.  (I use 
> >>the em dash, alt+0151, and the section mark, alt+0168, a lot.  Deadkeys 
> >>don't help with this anyway.  I also use é, alt+0233, which -- as you 
> >>can see -- deadkeys does well.)
> >>
> >>Well, it turns out that I use single ' and double ¨ quotes more than I 
> >>use the accented characters made easier with deadkeys, and it is getting 
> >>to be a pain -- especially switching from this computer to others that 
> >>don't require tricks to enter tildes and quotes.  Another problem is 
> >>that the double quotes entered by <shift+quote, space> (¨) aren't 
> >>recognized as ascii quotes by some programs, and OpenOffice's pub quotes 
> >>features is so incompatible that I can't enter double quotes at all in 
> >>my word processing -- have to use two single quotes -- unacceptable.
> >>
> >>Problem is, I can't figure out how to turn them off.
> >>
> >>Machine is Red Hat 7.3.  Anyone have any ideas?
> >>    
> >>
> >
> >Art,
> >
> >I think you are not getting the double quote at all but the umlaut, the
> >space being the augmented character.  It sounds like you are not getting
> >AltGr.  
> >
> >Is AltGr (ModeShift) turned on in XF86Config?
> >  
> >
> I don't think so (though I don't know what AltGr is).  Here is the 
> keyboard section
> 
>     # **********************************************************************
>     # Keyboard section
>     # **********************************************************************
> 
>     Section "Keyboard"
>         Protocol    "Standard"
> 
>         AutoRepeat  500 5
> 
>     # when using XQUEUE, comment out the above line, and uncomment the
>     # following line
>         # Protocol   "Xqueue"
> 
>     # Let the server do the NumLock processing.  This should only be
>     # required when using pre-R6 clients
>         # ServerNumLock
> 
>     # Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
>         # Xleds      1 2 3
> 
>     # To set the LeftAlt to Meta, RightAlt key to ModeShift,
>     # RightCtl key to Compose, and ScrollLock key to ModeLock:
> 
>         LeftAlt         Meta
>         RightAlt        Meta

Change to:
	RightAlt	ModeShift

>         ScrollLock      Compose
>         RightCtl        Control
> 
>     # To disable the XKEYBOARD extension, uncomment XkbDisable.
>     #    XkbDisable
> 
>     # To customise the XKB settings to suit your keyboard, modify the
>     # lines below (which are the defaults).  For example, for a non-U.S.
>     # keyboard, you will probably want to use:
>     #    XkbModel    "pc102"
>     # If you have a US Microsoft Natural keyboard, you can use:
>     #    XkbModel    "microsoft"
>     #
>     # Then to change the language, change the Layout setting.
>     # For example, a german layout can be obtained with:
>     #    XkbLayout   "de"
>     # or:
>     #    XkbLayout   "de"
>     #    XkbVariant  "nodeadkeys"
>     #
>     # If you'd like to switch the positions of your capslock and
>     # control keys, use:
>     #    XkbOptions  "ctrl:swapcaps"
>     #
>     # If you'd like to disable the capslock key, use:
>     #    XkbOptions  "ctrl:nocaps"
> 
> 
>          XkbRules    "xfree86"
>          XkbModel    "logiinetnav"
>          XkbLayout   "us_intl"    
>          XkbVariant  "basic"
>          #XkbOptions  ""
>     EndSection
> 
> >What does xmodmap show for Mod1?
> >  
> >
> Alt_L (0x40)
> 

The Mode_switch key (sometimes called AltGr) is similar to shift. 
Between the two modifiers you can assign upto 4 characters per key.  

X allows you to map any 4 keysyms (key behaviours - i.e. 'a', ESC,
PageUp, etc.) to any keycode (the physical key - i.e. scancodes).  This
means that you can turn your 'b' key into "shift" and 'shift-a' into
"7".  As if you would want to...


The keysyms associated with a keycode are shown as columns in the output
of 'xmodmap -pk'.  In my case:

$ xmodmap -pk | grep quotedbl
48 	- keycode (the '"' key)

0xfe51 (dead_acute) - unmodified key press

0xfe57 (dead_diaeresis) - Shift

0x0027(apostrophe) - Mode_switch

0x0022 (quotedbl) - mode_switch + shifted


So to get a '"' character I would have to press the "-key + Shift +
Mode_switch.  To get access to this special key, remap the right alt key
(standard location):

#make the left "Alt" key the "Mode_Switch" key
bash$ xmodmap -e 'keycode 113 = Mode_switch' 

# turn Mode_switch into a Modifier
bash$ xmodmap -e 'add mod3 = Mode_switch'

You may also need to make a change to XF86Config (see above).




You can actual map 

Make the above change to XF86Config.

Run:

	xmodmap -e "keycode 113 = 

> >On my 'us w/ dead keys' keymap (probably the same) the double quote  is
> >mapped to shift-AltGr-'"':
> >
> >bash$ xmodmap -pk | grep quotedbl
> >48         0xfe51 (dead_acute)     0xfe57 (dead_diaeresis) 0x0027
> >(apostrophe)     0x0022 (quotedbl)
> >
> >  
> >
> Kevin, I understand the the foregoing three line should be executed in 
> bash, but I am lost as to what AltGr is (which I should probably 
> understand before I do anything.

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug