Hi Andreas, thanks, will try that.
Cheers, Michael On Thu, Sep 6, 2018 at 4:16 AM Andreas Schwab <sch...@linux-m68k.org> wrote: > > On Sep 05 2018, Michael Schmitz <schmitz...@gmail.com> wrote: > > > The old layout probably used the old Atari scancodes and would be useless > > now. The Atari keyboard driver uses a hardcoded key map as found in > > drivers/input/keyboard/atakbd.c (US layout) translating the Atari > > scancodes to Linux keycodes which I worked out from some docs found on the > > web, and logging raw scancodes on my Falcon. There are quite a few > > scancodes that I wasn't sure about (see FIXME comments in same), patches > > are welcome. > > Please try this: > > diff --git a/drivers/input/keyboard/atakbd.c b/drivers/input/keyboard/atakbd.c > index 6f62da2909..1321e87574 100644 > --- a/drivers/input/keyboard/atakbd.c > +++ b/drivers/input/keyboard/atakbd.c > @@ -76,7 +76,6 @@ MODULE_LICENSE("GPL"); > > > static unsigned char atakbd_keycode[0x72] = { /* American layout */ > - [0] = KEY_GRAVE, > [1] = KEY_ESC, > [2] = KEY_1, > [3] = KEY_2, > @@ -117,9 +116,9 @@ static unsigned char atakbd_keycode[0x72] = { /* > American layout */ > [38] = KEY_L, > [39] = KEY_SEMICOLON, > [40] = KEY_APOSTROPHE, > - [41] = KEY_BACKSLASH, /* FIXME, '#' */ > + [41] = KEY_GRAVE, > [42] = KEY_LEFTSHIFT, > - [43] = KEY_GRAVE, /* FIXME: '~' */ > + [43] = KEY_BACKSLASH, > [44] = KEY_Z, > [45] = KEY_X, > [46] = KEY_C, > @@ -145,45 +144,34 @@ static unsigned char atakbd_keycode[0x72] = { /* > American layout */ > [66] = KEY_F8, > [67] = KEY_F9, > [68] = KEY_F10, > - [69] = KEY_ESC, > - [70] = KEY_DELETE, > - [71] = KEY_KP7, > - [72] = KEY_KP8, > - [73] = KEY_KP9, > + [71] = KEY_HOME, > + [72] = KEY_UP, > [74] = KEY_KPMINUS, > - [75] = KEY_KP4, > - [76] = KEY_KP5, > - [77] = KEY_KP6, > + [75] = KEY_LEFT, > + [77] = KEY_RIGHT, > [78] = KEY_KPPLUS, > - [79] = KEY_KP1, > - [80] = KEY_KP2, > - [81] = KEY_KP3, > - [82] = KEY_KP0, > - [83] = KEY_KPDOT, > - [90] = KEY_KPLEFTPAREN, > - [91] = KEY_KPRIGHTPAREN, > - [92] = KEY_KPASTERISK, /* FIXME */ > - [93] = KEY_KPASTERISK, > - [94] = KEY_KPPLUS, > - [95] = KEY_HELP, > + [80] = KEY_DOWN, > + [82] = KEY_INSERT, > + [83] = KEY_DELETE, > [96] = KEY_102ND, > - [97] = KEY_KPASTERISK, /* FIXME */ > - [98] = KEY_KPSLASH, > + [97] = KEY_UNDO, > + [98] = KEY_HELP, > [99] = KEY_KPLEFTPAREN, > [100] = KEY_KPRIGHTPAREN, > [101] = KEY_KPSLASH, > [102] = KEY_KPASTERISK, > - [103] = KEY_UP, > - [104] = KEY_KPASTERISK, /* FIXME */ > - [105] = KEY_LEFT, > - [106] = KEY_RIGHT, > - [107] = KEY_KPASTERISK, /* FIXME */ > - [108] = KEY_DOWN, > - [109] = KEY_KPASTERISK, /* FIXME */ > - [110] = KEY_KPASTERISK, /* FIXME */ > - [111] = KEY_KPASTERISK, /* FIXME */ > - [112] = KEY_KPASTERISK, /* FIXME */ > - [113] = KEY_KPASTERISK /* FIXME */ > + [103] = KEY_KP7, > + [104] = KEY_KP8, > + [105] = KEY_KP9, > + [106] = KEY_KP4, > + [107] = KEY_KP5, > + [108] = KEY_KP6, > + [109] = KEY_KP1, > + [110] = KEY_KP2, > + [111] = KEY_KP3, > + [112] = KEY_KP0, > + [113] = KEY_KPDOT, > + [114] = KEY_KPENTER, > }; > > static struct input_dev *atakbd_dev; > > Andreas. > > -- > Andreas Schwab, sch...@linux-m68k.org > GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 > "And now for something completely different."