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."

Reply via email to