<div dir="ltr"><div><div><div><div><div><div>I think the user should be in control here. I have a custom setup just because it's something I did 10 years ago and it's engrained into my muscle memory.<br><br></div>Ctrl+Shift+X is "pause/play music"<br>
</div>Ctrl+Shift+C is "play music" (which also means rewinding the current track to the beginning)<br></div>Ctrl+Shift+D is "next track"<br></div>Ctrl+Shift+Alt+D is "previous track"<br><br></div>
I understand this is a custom setup, so I'm OK with going to the Control Panel and explicitly marking that these shortcuts do these features in my media player.<br><br></div><div>The rest of everything is just UI. How do you expose these actions to the user and allow them to set up global shortcuts for it? OS X makes you type some complicated path to the menu item to trigger: <a href="http://support.apple.com/kb/ph6889">http://support.apple.com/kb/ph6889</a><br>
<br></div><div>With DBus and the new Actions available inside applications [0] , maybe we can build a UI to allow you to hook up keyboard shortcuts to application actions, or to shell commands, or whatever.<br><br></div><div>
I don't ever want an application to be able to request a global shortcut without my permission, and I speak as both a user and a DE developer here. That's a support and security nightmare.<br><br></div><div>The settings you create might be DE-specific, because certain DEs might have different features and limitations about global keyboard shortcuts.<br>
<br>I don't think there's any need for a Wayland protocol here. Just UI and design.<br><br>[0] <a href="http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#extra-actions">http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#extra-actions</a><br>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jul 4, 2014 at 10:58 AM, Michael Schellenberger Costa <span dir="ltr"><<a href="mailto:schellenberger@inb.uni-luebeck.de" target="_blank">schellenberger@inb.uni-luebeck.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
</div>Am 04/07/2014 16:04, schrieb Dodier-Lazaro, Steve:<br>
<div class="">> Hi Michael,<br>
><br>
>> Is there any reason global shortcuts should lie with an<br>
>> application? Wouldn't it make more sense to provide an interface<br>
>> on the compositor side, where clients can register a global<br>
>> shortcut and the compositor sends an event back in case of the<br>
>> shortcut being pressed.<br>
>><br>
>> In that case the compositor could follow predefined rules<br>
>> switching focus etc.<br>
><br>
> The problem is: what are the allowed global shortcuts leaking about<br>
> users?<br>
><br>
> If it's any key that can be listened to, then we've just gotten<br>
> ourselves an API for implementing keyloggers.<br>
><br>
> If it's any key + some modifier (Ctrl, Alt, etc) then we need to<br>
> see DE by DE what listening to all available key combinations lets<br>
> me learn about the user:<br>
<br>
</div>I did not meant it in the way of a client listening to keys, but to<br>
events sent from the compositor. In no way an application should be<br>
allowed to listen to certain key combinations without focus.<br>
<br>
I thought more about a compositor plugin an application can register<br>
to (Authenticated through user) and only if the user allowed the<br>
application to receive a special shortcut, then the compositor sends<br>
an *event* to the application if that and only that shortcut was used.<br>
So the compositor acts as a middleman denieing some rogue application<br>
to listen to ctrl+c<br>
<br>
Best wishes<br>
<div><div class="h5"><br>
><br>
> - Can I listen to Alt+Tab or to the shortcut used to maximise<br>
> windows? If so can I learn the window layout of the user (or at<br>
> least whether a window is being displayed or not)? For instance<br>
> Martin proposed to use an "Expose" like view of the desktop as a<br>
> background for modal authentication dialogs, so that the user knows<br>
> it's a compositor (that is capable of moving windows around) that<br>
> is asking for your password. If I know that no windows are being<br>
> displayed because the user hasn't Alt+Tab'd for a while and just<br>
> Alt+F4'd then I can spoof that UI directly and steal your<br>
> password.<br>
><br>
> - Can I learn if you're playing music? If you're browsing the Web?<br>
> If you're typing some document? Is that information alone useful to<br>
> profile your activities?<br>
><br>
> - Can listening to Ctrl+C allow me to know when you're using the<br>
> clipboard despite it being a privileged interface? If I'm sniffing<br>
> your network traffic I may know that you've just landed on a site's<br>
> authentication page, and you're using the clipboard. You're<br>
> probably one of those users who have a password file that they use<br>
> to copy credentials from. I may now serve you an exploit on the<br>
> clipboard API or an exploit allowing me to scan your FS as I know<br>
> there's something that can be monetized.<br>
><br>
> Generally speaking, there'll always be someone smarter and more<br>
> motivated than us to figure out how to build composite attacks from<br>
> seemingly innocuous APIs. So I'd rather lock down what is not<br>
> strictly necessary. How many apps need global shortcuts other than<br>
> the ones that have a semantic attached to them? How are the GUIs<br>
> for handling custom global shortcuts and Preferred handlers for<br>
> those semantic keys not enough?<br>
><br>
> If we can cater for all common needs without exposing all your<br>
> keyboard shortcuts to potential malware, then we've done a great<br>
> job.<br>
><br>
> Regards, -- Steve Dodier-Lazaro PhD student in Information<br>
> Security University College London Dept. of Computer Science Malet<br>
> Place Engineering, 6.07 Gower Street, London WC1E 6BT OpenPGP :<br>
> 1B6B1670<br>
><br>
<br>
</div></div>-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v2.0.22 (MingW32)<br>
<div class="">Comment: Using GnuPG with Thunderbird - <a href="http://www.enigmail.net/" target="_blank">http://www.enigmail.net/</a><br>
<br>
</div>iQEcBAEBAgAGBQJTtsEtAAoJECfkpCAi2eFKzFcIAKkKdUIAlbZ9MK7bjxsLllob<br>
EpsJgoS35PlcOvSPQj7Qnvzcx+B059pt9OAhknt8TID28l/M6S8pdGrKwAJ66mo8<br>
g2bHkiVYckR1viJ5EAv5ECyYNdF8hdmiWOQmGN0sJgtBcUhkqXK8drF1EwSevrtm<br>
faD/8srG8YYIj6Ke2X7O7FldosIv/Rc/V+V2fMEAJ3yx8O5QUDOUTgcy1cnDF4XE<br>
rKHAkqiOJhhstcxInGYSDR1/DxNY3nY4QXU8odUbWmJs1hdjL5LC7T6pRmi9oVFI<br>
ciekFyVOiNuAOhxhSBIQzKOfeFxKoMtN/ZVEsxmSHuT7NAGMqO5vCSC3aTj4MVw=<br>
=QvR2<br>
-----END PGP SIGNATURE-----<br>
<br>_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br> Jasper<br>
</div>