All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yan Seiner <yan@seiner.com>
To: LKML <linux-kernel@vger.kernel.org>
Subject: uinput question
Date: Sun, 20 Apr 2008 16:32:36 -0700	[thread overview]
Message-ID: <480BD294.9040504@seiner.com> (raw)

I'm trying to set up a system with multiple IR remotes acting as 
keyboards for specific X sessions.

lirc <http://www.lirc.org> is a way to send infrared remote keystrokes 
to applications.  Some time ago I wrote a small patch to kbdd 
<http://handhelds.org/moin/moin.cgi/kbdd> that lets me inject button 
pushes on an IR remote into the /dev/input/uinput system as keyboard 
events.

Now I'd like to send those keyboard events to only one X session, not 
all of them.

In the kbdd code, there is the following snippet when the 
/dev/input/uinput device is opened:

        memset(&dev, 0, sizeof(dev));
        strncpy(dev.name, "SerKBD", UINPUT_MAX_NAME_SIZE);
        dev.idbus = BUS_RS232;
        dev.idvendor = 0x00;
        dev.idproduct = 0x00;
        dev.idversion = 0x00;

So this would indicate to me that I can emulate different devices by 
changing the names, IDs, and events.  Then I want to select only those 
events that pertain to my app... 

So...
-   Create a 'virtual' eventNN device based on the data fed to kbdd
-   Send various keyboard events to the kernel via the uinput device 
from several physical devices
-   Select only those events destined for my virtual device
-   Have those events pop out of my eventNN device so I can handle them 
back in userspace

How do I do that?  Where can I find some information on how to handle 
uinput devices?

Thanks,

--Yan


-- 
  o__
  ,>/'_          o__
  (_)\(_)        ,>/'_        o__
Yan Seiner      (_)\(_)       ,>/'_     o__
Certified Personal Trainer   (_)\(_)    ,>/'_        o__
Licensed Professional Engineer         (_)\(_)       ,>/'_
Who says engineers have to be pencil necked geeks?  (_)\(_)

Help out my kids' school: http://www.seiner.com/blog/Travels/


             reply	other threads:[~2008-04-21  0:08 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-20 23:32 Yan Seiner [this message]
2008-04-25 18:26 ` uinput question Dmitry Torokhov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=480BD294.9040504@seiner.com \
    --to=yan@seiner.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.