How to scan Keyboard in Perl or else on Linux ?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Raphaël

    How to scan Keyboard in Perl or else on Linux ?

    Hi,

    On Linux, does somebody know how to get the keyboard status in Perl ?

    I explane :
    -> I would like to write a Perl script which scan the keyboard and
    return the list of pressed keys.

    For example, let "keyboard_scan( )" be the name of this function, with
    the following behavior:

    - When keyboard_scan() is called, if the user is pressing no keys, I
    would like keyboard_scan() to return the empty string "".
    - When keyboard_scan() is called, if the user is pressing the CTRL key,
    I would like keyboard_scan() to return the code string of the CTRL key.
    - When keyboard_scan() is called, if the user is pressing the ALT key
    and the SHIFT key, I would like the function to return the string
    containing the code of the SHIFT key and the code of the ALT key.
    etc ...

    Or perhaps somebody knows how to do it in another language (C, TCL, ...) ?

    Thanks !

    Raphaël.
  • Måns Rullgård

    #2
    Re: How to scan Keyboard in Perl or else on Linux ?

    Raphaël <Raphael.Rochet @xilinx.com> writes:
    [color=blue]
    > Hi,
    >
    > On Linux, does somebody know how to get the keyboard status in Perl ?
    >
    > I explane :
    > -> I would like to write a Perl script which scan the keyboard and
    > return the list of pressed keys.
    >
    > For example, let "keyboard_scan( )" be the name of this function, with
    > the following behavior:
    >
    > - When keyboard_scan() is called, if the user is pressing no
    > keys, I would like keyboard_scan() to return the empty string
    > "".
    > - When keyboard_scan() is called, if the user is pressing the
    > CTRL key, I would like keyboard_scan() to return the code
    > string of the CTRL key.
    > - When keyboard_scan() is called, if the user is pressing the
    > ALT key and the SHIFT key, I would like the function to return
    > the string containing the code of the SHIFT key and the code
    > of the ALT key.
    > etc ...
    >
    > Or perhaps somebody knows how to do it in another language (C, TCL, ...) ?[/color]

    Are you running under X? Look at the source of xkbwatch. It displays
    the status of the modifier keys.

    --
    Måns Rullgård
    mru@inprovide.c om

    Comment

    • Raphaël

      #3
      Re: How to scan Keyboard in Perl or else on Linux ?

      Hi,

      I didn't find what I needed even in the ReadKey CPAN package ... so I
      finally followed the Måns advise even if it's not portable to none unix
      platforms.

      I checked how is done the xkbwatch source code and I wrote my own
      procedure (mainly because I don't need the xkbwatch graphical interface).

      Now I call it from my perl script and it works fine !

      Thanks everybody,

      Raphaël.

      Måns Rullgård wrote:[color=blue]
      > Raphaël <Raphael.Rochet @xilinx.com> writes:
      >
      >[color=green]
      >>Hi,
      >>
      >>On Linux, does somebody know how to get the keyboard status in Perl ?
      >>
      >>I explane :
      >>-> I would like to write a Perl script which scan the keyboard and
      >>return the list of pressed keys.
      >>
      >>For example, let "keyboard_scan( )" be the name of this function, with
      >>the following behavior:
      >>
      >> - When keyboard_scan() is called, if the user is pressing no
      >> keys, I would like keyboard_scan() to return the empty string
      >> "".
      >> - When keyboard_scan() is called, if the user is pressing the
      >> CTRL key, I would like keyboard_scan() to return the code
      >> string of the CTRL key.
      >> - When keyboard_scan() is called, if the user is pressing the
      >> ALT key and the SHIFT key, I would like the function to return
      >> the string containing the code of the SHIFT key and the code
      >> of the ALT key.
      >>etc ...
      >>
      >>Or perhaps somebody knows how to do it in another language (C, TCL, ...) ?[/color]
      >
      >
      > Are you running under X? Look at the source of xkbwatch. It displays
      > the status of the modifier keys.
      >[/color]

      Comment

      Working...