00:10:04 RRSAgent has joined #webapps 00:10:04 logging to http://www.w3.org/2014/07/09-webapps-irc 00:10:13 RRSAgent: this meeting spans midnight 00:10:23 Present+ Travis 00:10:26 Present+ masayuki 00:11:33 He is logged in 00:12:10 +[Microsoft] 00:12:15 zakim, +[microsoft] is Travis 00:12:15 sorry, Travis, I do not recognize a party named '+[microsoft]' 00:12:21 zakim, [microsoft] is Travis 00:12:21 +Travis; got it 00:12:44 Present+ garykac 00:15:36 Topic: status update 00:15:51 travis: just looked at mercurial, and no changes in last 3 weeks. 00:16:02 ... matches reality I believe. 00:16:34 ... Bug list has grown a little: 00:16:37 ... https://www.w3.org/Bugs/Public/buglist.cgi?component=DOM3%20Events&list_id=40461&product=WebAppsWG&resolution=--- 00:16:44 Bugs don't fix themselves... 00:16:47 ... Now 14 bugs strong. 00:17:08 I'm working on making Firefox conform the latest key name. 00:17:08 4 new, 1 reopened. 00:17:29 This blocks my work: https://www.w3.org/Bugs/Public/show_bug.cgi?id=26218 00:17:46 cwdoh has joined #webapps 00:17:57 Topic: Looking at Firefox blocking bugs 00:21:05 I think that modifier state of "OS", "Super" and "Hyper" should be true when each of them is pressed. However, it's too specific for most web application developers. So, I believe that D3E should define "SystemAccel" virtual modifier key for .getModifierState(). 00:22:12 I also sent 2 emails about the detail of this bug to Travis and Gary. 00:22:36 OSkey => Command (meta) on MAC 00:22:45 OSkey => Super on Linux 00:23:37 OSkey => OS (sometimes it doesn't come through) on Windows 00:24:18 Yes. Separating Super and Hyper from OS is right approach, I think. Because they may be mapped to non-OS keys. 00:24:23 (Scratch -- no OS key on Mac) 00:25:29 Masayuki: If we have SystemAccel, then it will be set for Super/Hyper (Linux), OS (Wndows) and Meta (Mac) 00:26:05 This overlaps with the Accel key, which is set for Super/Hyper??? (linux), Control (Win) and Meta (Mac) 00:26:19 garykac: I don't think that Meta on Mac shouldn't cause it true because it is Accel key. 00:26:50 Then any code which uses this will simply not work on the Mac? that seems wrong. 00:27:02 I meant that SystemAccel should be a modifier is active which is used for system wide shortcut keys on the environment. 00:27:31 If the Mac Command/Meta key performs 2 functions, then is makes sense for it to set both Accel and SystemAccel. 00:27:43 Windows separates it out into 2 different keys. 00:27:52 I think Linux is in the same situation as Mac in this regard 00:28:45 garykac: I don't think so. Basically, web apps shouldn't handle key events with "OS" or "Super" or "Hyper" is active. Then, like |if (event.getModifierState("SystemAccel")) { return; }| this check is useful for web apps. 00:29:32 This check allows to ignore such key events easy. 00:29:53 Doesn't Accel == Super/Hyper on Linux? If so, then this is the same problem as the Mac 00:30:44 On Linux, Ctrl key is usual Accel key. 00:31:19 Super is used for desktop feature both on Fedora and Ubuntu. 00:32:26 Which Linux variant uses Hyper? 00:33:08 garykac: I don't know which distribution stil uses Hyper. 00:34:00 IIRC, a couple years ago, on both Ubuntu and Fedora, Shift + OS key was Hyper. 00:34:16 Now, such mapping isn't used on them, though. 00:34:50 The other question I have is do these System accel keys ever make it to the browser. If they are really system level keys, then it's usually a bad idea to send them to apps first for filtering. A misbehaving webpage could hijack all your system shortcuts. 00:36:53 Or you get really bad performance (ie: the browser has to load the page to determine if the key event should be passed on or not) 00:37:34 garykac: Yes, it's good point. But current web browsers don't stop dispatching key events with the modifiers. Therefore, if D3E defines key events shouldn't be fired on such case, it might break some existing web apps. 00:39:05 I would prefer to have the events sent through, but I doubt that all OSs will pass *all* keys to the browser first. So we'll have OS differences with some passing more keys than others. 00:39:21 We'll probably need to make a note of that in the spec. 00:39:31 And also they could be used by mosue. wheel or d&d event. As far as I know, such modifiers don't affect to these events in OS level. 00:40:24 If we add SystemAccel, it still seems odd to have the Mac never set it. 00:41:13 I don't think that it's odd because Mac OS doesn't have a common modifier for system wide shortcut key. 00:41:18 If I was a developer reading the spec, I would expect SystemAccel to be set for each platform. 00:42:08 System wide shortcut keys use the same modifier that the apps use: the Command key. 00:42:49 What you don't want to have happen is that special-case code is required for the Mac OS (or rather that assumptions of a modifier key working across OS doesn't actually work on the Mac. 00:43:07 For example, Command-Space to switch IMEs 00:43:15 If there is no SystemAccel, web apps needs to ignore key events with | if (event.getModiferState("OS") || event.getModifierState("Super") || event.getModifierState("Hyper")) | but on Linux Super or Hyper may be Accel by user's settings. 00:43:45 So, I tend to agree that "SystemAccel" would include Meta on the Mac. 00:44:07 Indeed... 00:44:16 I think SystemAccel is a good idea, but I'm bothered by not setting it on the Mac. 00:45:06 How about Alt+Tab on Windows? 00:45:35 But if we set if to Meta on the Mac, then your check to ignore system keys would turn off all accelerators on the Mac.... 00:45:54 Alt-Tab is a system accel key, but doesn't use the Windows key. 00:45:54 IIRC, Alt+Tab isn't sent to applications, though. 00:46:16 masayuki: true 00:47:54 Command key on Mac is similar to Alt-Tab on Windows. Sometimes, used for system wide shortcut, but not always. 00:48:27 Windows key and Super key on Ubuntu, Fedora are alwyas used for system wide shortcut key. 00:48:44 We could write, "For platforms that define a separate system level accelerator modifier key (eg: Win, Linux), the SystemAccel virtual modifier is set to this key. For platforms that do not have a separate system level accelerator key (eg: Mac) this virtual key is never set. 00:49:26 Well, that leaves a rift, but may be the best option...? 00:50:33 Assuming that the primary purpose of the virtual modifier is to ignore system level key combos, then this is reasonable. Are there any other uses for this that we can think of? 00:51:16 Masayuki: Does FFOS have a separate system accelerator key? 00:51:22 I have no idea for others. I assume that it's used for ignoring some key events simply. 00:52:08 I think we are converging on Gary's text. 00:52:34 masayuki: anything you'd like to discuss about 26141? 00:52:38 garykac: I guess, no. FxOS doesn't assume connecting physical keyboard at least for now. 00:52:43 (which is basically what Masayuki was proposing) 00:53:20 masayuki: OK, I was just wondering if it would be a good example to include in the text. 00:54:00 Topic: Other bugs to discuss in the time remaining? 00:54:07 garykac: FxOS is really "another" Android OS. 00:55:01 Looking at 26141, the request is for clarity on the text associated with the various media keys? 00:55:10 ... and confirmation of said text? 00:55:28 Travis: I was confused at bug 26141. On Windows, MediaSelect is launching default media player. 00:56:17 On Windows, the virtual keycode of the key is VK_MEDIA_SELECT... 00:57:05 s/VK_MEDIA_SELECT/VK_LAUNCH_MEDIA_SELECT 00:58:04 I guess that the name comes from WMP have media library feature which allow to select media file to play. 01:01:06 Both VK_MEDIA_SELECT and VK_LAUNCH_MEDIA_SELECT are the same key: 0x00b5 01:01:16 glenn has joined #webapps 01:01:56 LaunchMediaSelect sounds like a more accurate name 01:02:12 So we have key names for 'MediaSelect' and 'LaunchMediaPlayer' 01:04:56 https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key Now, we're planning that VK_LAUNCH_MEDIA_SELECT and GDK_KEY_AudioMedia are mapped to "MediaSelect". Other keys which launch media player are "LaunchMediaPlayer". 01:07:26 We are thinking of removing 'MediaSelect' and noting that VK_LAUNCH_MEDIA_SELECT is mapped to 'LaunchMediaPlayer'... 01:07:39 It sounds like MediaSelect and LaunchMediaPlayer are the same key - they seem to perform the same function. 01:07:57 masayuki: what other keys launch media players? 01:09:01 garykac: GDK_CD, GDK_Video, Qt::Key_LaunchMedia 01:09:15 Note: Times running short... 01:10:09 garykac: And also "LaunchMusicPlayer" is Qt::Key_Music, KEYCODE_MUSIC (Android), GDK_Music 01:10:53 So, all of "MediaSelect", "LaunchMediaPlayer" and "LaunchMusicPlayer" could be "LaunchMediaPlayer". 01:11:10 Do we need a separate value to support GDK_CD? (vs. GDK_Music) 01:11:32 "CD" seems a bit anachronistic... 01:12:02 garykac: I don't think so. GDK key names are defined from X11's keysyms. 01:12:18 Is everyone available next week? July 15th? 01:12:23 And X11's keysyms have a lot of similar keys. 01:12:26 travis: yes 01:12:35 travis: yes. 01:12:52 masayuki: Is it a problem to remove MediaSelect and only have LaunchMediaPlayer? 01:13:18 masayuki: at the moment, that seems like the best thing to do 01:14:10 garykac: I think it's enough to be only "LaunchMediaPlayer" for them. 01:14:29 masayuki: ok sgtm 01:14:45 garykac: because such keys are not so important and browsers cannot distinguish them strictly. 01:15:04 yep 01:15:09 garykac: e.g., music player key may launch multi media player. 01:15:53 So, all of them can be just "LaunchMediaPlayer". 01:16:17 I mean "MediaSelect", "LaunchMediaPlayer" and "LaunchMusicPlayer". 01:16:28 I think we're all wrapped up today then. 01:16:31 See you all next week! 01:17:02 Okay, I'd like you to post come comments to the spec bugs! 01:17:20 Remove MediaSelect. Keep LaunchMediaPlayer, LaunchAudioPlayer 01:17:31 -Travis 01:17:34 I updated the bugs already with some notes. 01:17:45 Thanks for bringing up these issues. 01:17:52 Anyway - I gotta go. 01:17:56 Talk to you next week. 01:17:58 garykac: you're welcome. 01:18:00 RRSAgent: please make the minutes. 01:18:00 I'm logging. I don't understand 'please make the minutes.', Travis. Try /msg RRSAgent help 01:18:04 yes, see you. 01:18:08 RRSAgent, make the minutes. 01:18:08 I'm logging. I don't understand 'make the minutes.', Travis. Try /msg RRSAgent help 01:18:09 - +1.425.936.aaaa 01:18:10 RWC_WAPI(D3E)8:00PM has ended 01:18:10 Attendees were +1.425.936.aaaa, Travis 01:18:28 RRSAgent: please generate the minutes 01:18:28 I have made the request to generate http://www.w3.org/2014/07/09-webapps-minutes.html Travis 01:18:38 RRSAgent: make logs public 01:19:53 RRSAgent: bye 01:19:53 I see no action items