I was trying to find this info a while ago, too.  When I replaced the
Solaris Xsun Xserver with XFree86, an xmodmap in our system that used
keycodes was no longer working.  The problem was that XFree86 was
translating the scancodes into different keycodes than Xsun was.  This
happened with both the openwindows (Solaris) and XFree86 versions of
xmodmap, and also using the openwindows xlib.  So I concluded that the
scancode to keycode translation must be happening in the keyboard driver
used by XFree86.  I never found the source of this - I fixed my problem by
changing the xmodmap to use the more portable keysyms, rather than
keycodes.

I'm guessing that the XFree86 keybaord driver lives in
xc/programs/Xserver/hw/xfree86/input/keyboard.  After a quick look in here
and the files that it includes, I couldn't find what you are looking for,
but it might be a place to start, if you haven't already looked at this.

Regards,

Lindsay Haigh



                                                                                       
                                                    
                    Frank Murphy                                                       
                                                    
                    <murphyf+xf86-dev       To:     [EMAIL PROTECTED]                  
                                                    
                    [EMAIL PROTECTED]>              cc:                                
                                                            
                    Sent by:                Subject:     Re: iBook us-keyboard problem 
                                                    
                    [EMAIL PROTECTED]                                                  
                                                    
                    86.Org                                                             
                                                    
                                                                                       
                                                    
                                                                                       
                                                    
                    06/06/03 07:13                                                     
                                                    
                    Please respond to                                                  
                                                    
                    devel                                                              
                                                    
                                                                                       
                                                    
                                                                                       
                                                    




OK, after some more resarch, I have some idea of what's going on. It seems
that the X server gets the scan codes from the kernel, then passes these
scan
codes to the X client. xlib has some nice functions to then convert these
scan codes into keycodes, then into keysyms. (Correct me if I'm wrong
here.)

So, I looked into xc/lib/X11/XKeysymDB, which seems to have the kind of
information I want, but not the actual scan codes I'm looking for. Then I
looked at xc/include/keysymdef.h, which seemed to be a better place. But
after looking at these, they both seem to be keysym definitions, not scan
code (or even key code) definitions.

Where are the scan codes defined, or mapped or whatever?

Thanks for any pointers?

Frank

On Wednesday 04 June 2003 09:52, Frank Murphy wrote:
> I have an iBook with a US keyboard layout, and I'm having a wierd problem
I
> hope you can help with.
>
> The mac keyboards have a "keypad equals" key. X doesn't support that as
> separate from regular equals, but I'd like to use it to type equals. The
> problem is that both this KP-equals and the left-arrow key have the same
> keysyms. If I try to modify one, I modify both.
>
> Here's the relevent xev output:
>
> KeyPress event, serial 27, synthetic NO, window 0x2000001,
>     root 0x48, subw 0x0, time 35558015, (180,101), root:(183,519),
>     state 0x0, keycode 100 (keysym 0xff51, Left), same_screen YES,
>     XLookupString gives 0 characters:  ""
>
> KeyRelease event, serial 27, synthetic NO, window 0x2000001,
>     root 0x48, subw 0x0, time 35558135, (180,101), root:(183,519),
>     state 0x0, keycode 100 (keysym 0xff51, Left), same_screen YES,
>     XLookupString gives 0 characters:  ""
>
> KeyPress event, serial 27, synthetic NO, window 0x2000001,
>     root 0x48, subw 0x0, time 35560194, (180,101), root:(183,519),
>     state 0x0, keycode 100 (keysym 0xff51, Left), same_screen YES,
>     XLookupString gives 0 characters:  ""
>
> I am actually hitting different keys here, but it doesn't look like it.
>
> What is wierd is that these keys generate different keysyms and
characters
> on the console. I type an '=' with both keys (on Debian sid).
>
> I had a suggestion to look in the XF86 keyboard code. Does anyone here
have
> an idea of which files to start to look in? Will this be a C-code problem
> or a configuration issue somewhere? Or does anyone know how to see the
> scancodes that X thinks I have?
>
> Here's the version info from the top of the XFree86.0.log:
>
> XFree86 Version 4.3.0 (DRI mach64-0-0-6-branch)
> Release Date: 27 February 2003
> X Protocol Version 11, Revision 0, Release 6.6
> Build Operating System: Linux 2.4.20-ben8-xfs-lolat ppc [ELF]
>
> I'm using the Xserver packages that Michael Däzner provides. Do you need
> any other info?
>
> Thanks for any help,
>
> Frank
>
>
> _______________________________________________
> Devel mailing list
> [EMAIL PROTECTED]
> http://XFree86.Org/mailman/listinfo/devel


_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel





_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to