Re: [ES40-developers] 8042 translation is faulty
Status: Alpha
Brought to you by:
iamcamiel
|
From: Brian W. <bdw...@in...> - 2008-02-08 15:12:12
|
Unfortunately, it acts the same :(
On Fri, 2008-02-08 at 08:57 +0100, Camiel Vanderhoeven wrote:
> Hi Brian,
>
> Could you try again with the changes I made to the keyboard
> implementation this morning in response to David Hittner's issue?
>
> Camiel.
>
> On Feb 7, 2008 10:31 PM, Camiel Vanderhoeven <iam...@gm...> wrote:
> > Hi Brian,
> >
> > Forget the change I suggested; it's wrong. The behaviour seems to be
> > correct as it was:
> >
> > For a "b", the untranslated set-2 scancode is 0x32 (make) 0xf0 0x32 (break).
> > The translated set-2 scancode is 0x30 (make) 0xb0 (break).
> >
> > So, I guess the question is why translation is being enabled...
> >
> > Camiel.
> >
> >
> > On Feb 7, 2008 10:03 PM, Brian Wheeler <bdw...@in...> wrote:
> > > Nope, that didn't seem to do it. Here's the debugging output of me
> > > hitting 'b' on the keyboard in SRM (where it works) and netbsd debug
> > > (where it doesn't)
> > >
> > > --- in srm --
> > >
> > > gen_scancode(): 21 pressed
> > > keyboard: gen_scancode with scancode_translate cleared
> > > gen_scancode(): writing raw 32
> > > kbd_enQ(0x32)kbd_enQ: putting scancode 0x32 in internal buffer
> > > service_keyboard: key in internal buffer waiting
> > > READ(60) = 32
> > > service_keyboard(): no keys waiting
> > > gen_scancode(): 21 released
> > > keyboard: gen_scancode with scancode_translate cleared
> > > gen_scancode(): writing raw f0
> > > kbd_enQ(0xf0)kbd_enQ: putting scancode 0xf0 in internal buffer
> > > gen_scancode(): writing raw 32
> > > kbd_enQ(0x32)kbd_enQ: putting scancode 0x32 in internal buffer
> > > service_keyboard: key in internal buffer waiting
> > > READ(60) = f0
> > > service_keyboard: key in internal buffer waiting
> > > READ(60) = 32
> > > service_keyboard(): no keys waiting
> > >
> > > --- traffic from the netbsd kernel ---
> > >
> > > write command byte
> > > set_aux_clock_enable(1)
> > > allow_irq12 set to 0
> > > keyboard: scan convert turned off
> > > Scancodes_translate set to 0
> > > service_keyboard(): no keys waiting
> > > write command byte
> > > set_aux_clock_enable(1)
> > > allow_irq12 set to 0
> > > Scancodes_translate set to 1
> > > get keyboard command byte
> > > kbd_controller_enQ(44) source=00
> > > READ(60) = 44
> > > controller passed byte f0h to keyboard
> > > Expecting scancode set info...
> > > kbd_enQ(0xfa)kbd_enQ: putting scancode 0xfa in internal buffer
> > > service_keyboard: key in internal buffer waiting
> > > READ(60) = fa
> > > controller passed byte 02h to keyboard
> > > Switched to scancode set 2
> > > kbd_enQ(0xfa)kbd_enQ: putting scancode 0xfa in internal buffer
> > > service_keyboard: key in internal buffer waiting
> > > READ(60) = fa
> > > controller passed byte f4h to keyboard
> > > kbd_enQ(0xfa)kbd_enQ: putting scancode 0xfa in internal buffer
> > > service_keyboard: key in internal buffer waiting
> > > READ(60) = fa
> > > service_keyboard(): no keys waiting
> > >
> > > --- in debugger ---
> > >
> > > gen_scancode(): 21 pressed
> > > gen_scancode(): writing translated 30
> > > kbd_enQ(0x30)kbd_enQ: putting scancode 0x30 in internal buffer
> > > service_keyboard: key in internal buffer waiting
> > > READ(60) = 30
> > > service_keyboard(): no keys waiting
> > > gen_scancode(): 21 released
> > >
> > >
> > >
> > > Brian
> > >
> > >
> > >
> > > On Thu, 2008-02-07 at 21:53 +0100, Camiel Vanderhoeven wrote:
> > > > Hi Brian,
> > > >
> > > > I think disabling the translation altogether isn't the right solution.
> > > > There is indeed a bug in the translation code. Could you try adding
> > > > the following line around line 619? If this solves the problem, I'll
> > > > commit it to CVS, with some comments added about how the different
> > > > scancode sets and translations (should) work.
> > > >
> > > > if (scancode[i] == 0xF0)
> > > > {
> > > > escaped=0x80;
> > > > i++; <==== ADD THIS LINE
> > > > }
> > > > else
> > > >
> > > > On Feb 7, 2008 7:39 PM, Brian Wheeler <bdw...@in...> wrote:
> > > > > Actually, skip the line 1850 stuff, it doesn't seem to work. However,
> > > > >
> > > > > if (state.kbd_controller.scancodes_translate && 0)
> > > > >
> > > > > on line 609 (or thereabouts) does fix the problem.
> > > > >
> > > > > Brian
> > > > >
> > > > >
> > > > >
> > > > > On Thu, 2008-02-07 at 13:17 -0500, Brian Wheeler wrote:
> > > > > > It looks like the 8042 keyboard translation is faulty. SRM turns it off
> > > > > > during the bootup sequence, and netbsd turns it off (again), and then on
> > > > > > right before it goes to the debugger. I've forced it to 0 on
> > > > > > AliM1543C.cpp around line 1850:
> > > > > >
> > > > > > state.kbd_controller.scancodes_translate = 0;
> > > > > >
> > > > > > and the netbsd debugger is working as expected.
> > > > > >
> > > > > > I also commented out the XWarpPointer call in gui/gui_x11.cpp and it
> > > > > > doesn't keep moving the mouse to the center of the window.
> > > > > >
> > > > > >
> > > > > > Brian
> > > > > >
> > > > > >
> > > > > > -------------------------------------------------------------------------
> > > > > > This SF.net email is sponsored by: Microsoft
> > > > > > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > > > > > _______________________________________________
> > > > > > Es40-developers mailing list
> > > > > > Es4...@li...
> > > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers
> > > > >
> > > > >
> > > > > -------------------------------------------------------------------------
> > > > > This SF.net email is sponsored by: Microsoft
> > > > > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > > > > _______________________________________________
> > > > > Es40-developers mailing list
> > > > > Es4...@li...
> > > > > https://lists.sourceforge.net/lists/listinfo/es40-developers
> > > > >
> > > >
> > > > -------------------------------------------------------------------------
> > > > This SF.net email is sponsored by: Microsoft
> > > > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > > > _______________________________________________
> > > > Es40-developers mailing list
> > > > Es4...@li...
> > > > https://lists.sourceforge.net/lists/listinfo/es40-developers
> > >
> > >
> > > -------------------------------------------------------------------------
> > > This SF.net email is sponsored by: Microsoft
> > > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > > _______________________________________________
> > > Es40-developers mailing list
> > > Es4...@li...
> > > https://lists.sourceforge.net/lists/listinfo/es40-developers
> > >
> >
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Es40-developers mailing list
> Es4...@li...
> https://lists.sourceforge.net/lists/listinfo/es40-developers
|