In message d35b0e7e-28ca-b4d5-d5e4-fb4bf3136979@genode-labs.com Norman Feske norman.feske@genode-labs.com wrote:
both the nitpicker GUI server as well as the wm deliver only absolute motion events. Events delivered by nitpicker refer to the upper-left corner of the screen. Events delivered by the wm "virtualize" this upper-left corner so that the real window position is not exposed to the application. When creating a view at position (0,0), the received motion events refer to the position within the window.
BTW, the easiest way to see what input events you receive is to print each event. You can pass an Input::Event directly to the 'log' function.
The wm (specifically the layouter) reports the window layout (including pixel positions for each window) as "window_layout" report. This report is normally consumed only by the decorator. By reflecting this report as a ROM (using report_rom) to your application, you can make the application aware of the complete layout if you want so. You may have a look at [1] to see the interplay of the window-management components (wm, layouter, decorator).
Thanks . I sorted it .. turned out to be a misunderstandng from my side. Can I hide the system mouse pointer?
Another issue: I don't know if anyone knows about this but ( long shot :-) ), I am relying on the imx8 message unit (MU). I have been using polling against it, but now I need interrupts. But I can't get it to work. I am trying to enable it on CPUB side. no effect. So I tried it in Genode CPUA (Core 0) and after setting up interrupt in the MU chip I got interrupts from the cpu. So the qeustion is: Is it only possible to set it on Core 0 and if so , can I route it to Core 1 in Genode. I have been looking in the gicv3 code and it seems like it only does core 0. I have also tried to enable it in genode and after that setting affinity on the second core ( from the second core). No effect. Interresting enough is that I can enable SoC timer and get it to interrupt core 1 ( not setting anything in Genode / Core 0).
Michael