<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:メイリオ
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Pekka<br><br>Thank you very much for your reply.<br><br>> If you're interested in that, you can<br>>dig the wayland-devel mailing list archives, or if you can't find it,<br>>someone else probably can. This discussion was about any normal app<br>>that just wants to register for a global hotkey.<br><pre>I have searched for the related topic,but i did not find it.<br><br>>In all cases, the main idea is to prevent random clients from<br>>eavesdropping input, while still letting the right client(s) get them.<br>>This is always some new protocol extension that is unrelated to<br>>wl_keyboard, wl_pointer, etc.</pre>Right now,my solution is to extend wl_keyboard protocol,because the work volume is little.<br><br>Software architecture is HMI-->QT/EFL(wayland/client)-->westion(wl_keyboard/extention key)--evdev.<br><br>But i have another question.<br><br>In my uses case,i will composite QT-applicaiton and EFL-applicaion into one image,both of them want to get hardkey input event but only one application can get the input event who get the foucs.<br><br>When QT /EFL application want to get hardkey input event,it have to get the windows focus.<br><br>How do i switch the focus/active for specific QT or EFL application by software design?<br><br>Could you give some advice?<br><br>Best regards,<br><br>Andy<br><div>> Date: Fri, 2 Jan 2015 14:13:58 +0200<br>> From: ppaalanen@gmail.com<br>> To: williamyang13@hotmail.com<br>> CC: wayland-devel@lists.freedesktop.org<br>> Subject: Re: [weston1.5]Question about HardKey input monitor with wayland/weston<br>> <br>> On Wed, 24 Dec 2014 09:32:42 +0000<br>> Yang Andy <williamyang13@hotmail.com> wrote:<br>> <br>> > Hi everyone<br>> > <br>> > I have a question about HardKey input monitor with wayland/weston.<br>> <br>> "HardKey input monitor" does not seem to be a program or a piece of<br>> hardware that Google knows about. Any pointers to what it is?<br>> <br>> > [Use Case]<br>> > When user press specific HardKey on panel,IVI system launch referred application.<br>> <br>> Ok.<br>> <br>> > So application have to monitor HardKey press.<br>> > <br>> > [Question]<br>> > Draft software archiecture design as below:<br>> > <br>> > Application(client)-->Weston(v1.5)-->Kernel Input Subsystem-->HardKey<br>> > <br>> > <br>> > Question1:Is Draft software archiecture right?<br>> <br>> Yes, at least if HardKey is hardware. Either Weston (the compositor)<br>> itself handles the input event, or you need protocol to relay it to a<br>> client if you want a client to handle it and launch your new app.<br>> <br>> > Question2:Is is necessary to modify weston in order to monitor HardKey press?<br>> <br>> Yes, or you can write a Weston plugin to do that.<br>> <br>> > Question3:How to design application(protocol) to communicate with weston(input)?<br>> <br>> That's the hard question. We have had some discussions how a desktop<br>> global hotkey protocol should look like to both work nicely and be<br>> secure (prevent spying input). If you're interested in that, you can<br>> dig the wayland-devel mailing list archives, or if you can't find it,<br>> someone else probably can. This discussion was about any normal app<br>> that just wants to register for a global hotkey.<br>> <br>> If you don't need this capability for normal apps, but it would be<br>> enough for your shell helper program to handle it, you can simply<br>> invent whatever protocol you need - just make sure no normal client can<br>> bind the interface. An example in Weston for desktop is the<br>> protocol/desktop-shell.xml extension, which is implemented in<br>> desktop-shell/shell.c and used from clients/desktop-shell.c. If your<br>> goal with the input event is to launch a new app, this is probably the<br>> best option.<br>> <br>> However, your context is IVI which is totally not a desktop. I suppose<br>> the controller could define specific ivi-ids somehow with which a<br>> client could bind to the extension interface. This would be similar to<br>> the shell helper program design, except the mechanism to authorize a<br>> client is different.<br>> <br>> In all cases, the main idea is to prevent random clients from<br>> eavesdropping input, while still letting the right client(s) get them.<br>> This is always some new protocol extension that is unrelated to<br>> wl_keyboard, wl_pointer, etc.<br>> <br>> <br>> Thanks,<br>> pq<br></div>                                    </div></body>
</html>