Hi! i implement touch screen driver in os\src\input\ft5406,and can get the coordinate x, y,then i use: _ev_queue.add(Input::Event(Input::Event::MOTION, 0, _abs_x, _abs_y, 0, 0)); _ev_queue.add(Input::Event(Input::Event::PRESS, Input::BTN_TOUCH, _abs_x, _abs_y, 0, 0)); _ev_queue.add(Input::Event(Input::Event::RELEASE, Input::BTN_TOUCH, _abs_x, _abs_y, 0, 0)); to add the event to the event queue. now the question is how can i pass the events to linux. the bot modules are: set boot_modules { core init timer omap4_gpio_drv omap4_i2c_drv omap4_fb_drv input_ft5406_drv sd_card_drv usb_drv nic_bridge nitpicker nit_fb part_blk terminal terminal_log l4android root-ginger.gz } thank you very much!!!
Hi,
On 05/07/2013 04:27 PM, gaober_bupt@...176... wrote:
Hi! i implement touch screen driver in os\src\input\ft5406,and can get the coordinate x, y,then i use: _ev_queue.add(Input::Event(Input::Event::MOTION, 0, _abs_x, _abs_y, 0, 0)); _ev_queue.add(Input::Event(Input::Event::PRESS, Input::BTN_TOUCH, _abs_x, _abs_y, 0, 0)); _ev_queue.add(Input::Event(Input::Event::RELEASE, Input::BTN_TOUCH, _abs_x, _abs_y, 0, 0)); to add the event to the event queue. now the question is how can i pass the events to linux.
normally, you don't have to care about that. It should work out of the box. The virtual input driver in L4Linux takes all input events it gets as a client of either nit_fb, or the input driver itself. Which input service L4Linux is using depends on your configuration, and the routing you've set within it.
Regards Stefan
the bot modules are: set boot_modules { core init timer omap4_gpio_drv omap4_i2c_drv omap4_fb_drv input_ft5406_drv sd_card_drv usb_drv nic_bridge nitpicker nit_fb part_blk terminal terminal_log l4android root-ginger.gz } thank you very much!!!
Hi,
On 05/08/2013 11:47 AM, Stefan Kalkowski wrote:
Hi,
On 05/07/2013 04:27 PM, gaober_bupt@...176... wrote:
Hi! i implement touch screen driver in os\src\input\ft5406,and can get the coordinate x, y,then i use: _ev_queue.add(Input::Event(Input::Event::MOTION, 0, _abs_x, _abs_y, 0, 0)); _ev_queue.add(Input::Event(Input::Event::PRESS, Input::BTN_TOUCH, _abs_x, _abs_y, 0, 0)); _ev_queue.add(Input::Event(Input::Event::RELEASE, Input::BTN_TOUCH, _abs_x, _abs_y, 0, 0)); to add the event to the event queue. now the question is how can i pass the events to linux.
normally, you don't have to care about that. It should work out of the box. The virtual input driver in L4Linux takes all input events it gets as a client of either nit_fb, or the input driver itself. Which input service L4Linux is using depends on your configuration, and the routing you've set within it.
I forgot to add: In fact, Genode's virtual input driver for L4Linux consists of two devices a mouse and a keyboard device, which are registered at the Linux kernel. BTN_TOUCH events are delegated to the mouse device, as long as you've enabled CONFIG_ANDROID in your Linux Kernel configuration. Have a look at file 'ports-foc/src/drivers/genode_fb.c:332'.
Do you get any touch events in Linux? You might poll the appropriate '/dev/input/eventX' file. You can search in '/sys/class/input/*' for the appropriate event file that represents the Genode mouse.
Regards Stefan
Regards Stefan
the bot modules are: set boot_modules { core init timer omap4_gpio_drv omap4_i2c_drv omap4_fb_drv input_ft5406_drv sd_card_drv usb_drv nic_bridge nitpicker nit_fb part_blk terminal terminal_log l4android root-ginger.gz } thank you very much!!!