From: Nuno Santos <nsantos@edigma.com>
To: linux-input@vger.kernel.org
Subject: Re: Interacting with a input kernel driver from user space
Date: Mon, 14 Nov 2011 16:31:57 +0000 [thread overview]
Message-ID: <4EC1427D.2090703@edigma.com> (raw)
In-Reply-To: <CANq1E4SMr1HWXSV3Fc6mB8oCWEJv63i_QZFQLMYCBqCdYsDZxA@mail.gmail.com>
On 11/14/2011 04:09 PM, David Herrmann wrote:
> On Mon, Nov 14, 2011 at 5:00 PM, Nuno Santos<nsantos@edigma.com> wrote:
>> Hi David,
>>
>> Thanks for your reply.
>>
>> The best way probably is using sysfs. Register one sysfs attribute per
>> value and configure your callbacks.
>> There are several other subsystems that provide wrappers for them. If
>> you could be more specific about the user-space interaction or
>> configuration values, then we could also be more specific (hopefully
>> ;)).
>>
>> sysfs? Need to dig about it. Is there any typical example I can look in
>> kernel source? If you could point me one that would be great.
> Almost every driver uses it. Look for "DEVICE_ATTR" in the driver
> sources or drivers/input/input.c for instance.
Ok. I'll look for that.
>> What do I need to exchange between the kernel and the user space is between
>> a simple byte exchange and a whole structure of several bytes.
>>
>> Do you know the concept of IOCTLS in windows? Basicly that's what looking
>> after.
> No, sorry. I don't.
No problem.
>
>> I need to be able to communicate to and from the device from the an
>> application build in Qt. So, there must be something really generic that I
>> can call from the application environment. In windows I use window API to
>> call IOCTLS interaction.
> Why? I thought this thing is an input device? Why does an application
> have to modify a running device? Is this modification local to the
> application<->device interface or does it also affect all other
> running applications that use this device?
Yes, it is an multitouch overlay input device. However all the
processing is done on the host side. The device delivers raw data into
the system and all the tracking and touch information is processed on
the kernel side. The control panel for this device shows the input data
and permits some parameter change. In order to visualize that data I
need to be able to get a complete structure from it. When I change a
parameter it will reflect the change to the input being reported to all
the applications that use that input device.
>
> If it is a configuration value to put the device into a different
> state or similar, then you can use a sysfs attribute. The user can
> change this with "echo<value> >/sys/class/input/inputX/<attribute>"
For setting new simple values I see I can use this interface, but two
questions arise. How can I send a structure with this interface? Can I
fopen this sys file and send the whole structure thru this mechanism.
What about receiving data from the device?
Regards,
Nuno
next prev parent reply other threads:[~2011-11-14 16:32 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-14 12:24 Interacting with a input kernel driver from user space Nuno Santos
2011-11-14 15:37 ` David Herrmann
2011-11-14 16:00 ` Nuno Santos
2011-11-14 16:09 ` David Herrmann
2011-11-14 16:31 ` Nuno Santos [this message]
2011-11-14 16:58 ` David Herrmann
2011-11-14 18:24 ` Nuno Santos
2011-11-14 18:57 ` Dmitry Torokhov
2011-11-14 23:17 ` Oliver Neukum
2011-11-14 23:34 ` Dmitry Torokhov
2011-11-15 9:41 ` Nuno Santos
2011-11-15 9:38 ` Nuno Santos
2011-11-15 9:35 ` Nuno Santos
2011-11-15 18:23 ` Dmitry Torokhov
2011-11-15 18:41 ` Nuno Santos
2011-11-15 19:20 ` Dmitry Torokhov
2011-11-14 17:13 ` Dmitry Torokhov
2011-11-15 10:32 ` Henrik Rydberg
2011-11-15 10:40 ` Nuno Santos
2011-11-15 19:07 ` Chase Douglas
2011-11-16 10:25 ` Nuno Santos
2011-11-16 10:28 ` Nuno Santos
2011-11-16 17:28 ` Nuno Santos
2011-11-16 19:27 ` Dmitry Torokhov
2011-11-17 15:39 ` Nuno Santos
2011-11-17 16:58 ` Nuno Santos
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=4EC1427D.2090703@edigma.com \
--to=nsantos@edigma.com \
--cc=linux-input@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).