W3C

- DRAFT -

SV_MEETING_TITLE

09 Jul 2014

See also: IRC log

Attendees

Present
+1.425.936.aaaa, Travis, masayuki, garykac
Regrets
Chair
SV_MEETING_CHAIR
Scribe
masayuki

Contents


<Travis> RRSAgent: this meeting spans midnight

He is logged in

status update

<Travis> travis: just looked at mercurial, and no changes in last 3 weeks.

<Travis> ... matches reality I believe.

<Travis> ... Bug list has grown a little:

<Travis> ... https://www.w3.org/Bugs/Public/buglist.cgi?component=DOM3%20Events&list_id=40461&product=WebAppsWG&resolution=---

<garykac> Bugs don't fix themselves...

<Travis> ... Now 14 bugs strong.

I'm working on making Firefox conform the latest key name.

<Travis> 4 new, 1 reopened.

This blocks my work: https://www.w3.org/Bugs/Public/show_bug.cgi?id=26218

Looking at Firefox blocking bugs

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().

I also sent 2 emails about the detail of this bug to Travis and Gary.

<Travis> OSkey => Command (meta) on MAC

<Travis> OSkey => Super on Linux

<Travis> OSkey => OS (sometimes it doesn't come through) on Windows

Yes. Separating Super and Hyper from OS is right approach, I think. Because they may be mapped to non-OS keys.

<Travis> (Scratch -- no OS key on Mac)

<garykac> Masayuki: If we have SystemAccel, then it will be set for Super/Hyper (Linux), OS (Wndows) and Meta (Mac)

<garykac> This overlaps with the Accel key, which is set for Super/Hyper??? (linux), Control (Win) and Meta (Mac)

garykac: I don't think that Meta on Mac shouldn't cause it true because it is Accel key.

<garykac> Then any code which uses this will simply not work on the Mac? that seems wrong.

I meant that SystemAccel should be a modifier is active which is used for system wide shortcut keys on the environment.

<garykac> If the Mac Command/Meta key performs 2 functions, then is makes sense for it to set both Accel and SystemAccel.

<garykac> Windows separates it out into 2 different keys.

<garykac> I think Linux is in the same situation as Mac in this regard

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.

This check allows to ignore such key events easy.

<garykac> Doesn't Accel == Super/Hyper on Linux? If so, then this is the same problem as the Mac

On Linux, Ctrl key is usual Accel key.

Super is used for desktop feature both on Fedora and Ubuntu.

<garykac> Which Linux variant uses Hyper?

garykac: I don't know which distribution stil uses Hyper.

IIRC, a couple years ago, on both Ubuntu and Fedora, Shift + OS key was Hyper.

Now, such mapping isn't used on them, though.

<garykac> 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.

<garykac> 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)

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.

<garykac> 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.

<garykac> We'll probably need to make a note of that in the spec.

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.

<garykac> If we add SystemAccel, it still seems odd to have the Mac never set it.

I don't think that it's odd because Mac OS doesn't have a common modifier for system wide shortcut key.

<garykac> If I was a developer reading the spec, I would expect SystemAccel to be set for each platform.

<garykac> System wide shortcut keys use the same modifier that the apps use: the Command key.

<Travis> 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.

<garykac> For example, Command-Space to switch IMEs

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.

<Travis> So, I tend to agree that "SystemAccel" would include Meta on the Mac.

Indeed...

<garykac> I think SystemAccel is a good idea, but I'm bothered by not setting it on the Mac.

How about Alt+Tab on Windows?

<garykac> 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....

<garykac> Alt-Tab is a system accel key, but doesn't use the Windows key.

IIRC, Alt+Tab isn't sent to applications, though.

<garykac> masayuki: true

Command key on Mac is similar to Alt-Tab on Windows. Sometimes, used for system wide shortcut, but not always.

Windows key and Super key on Ubuntu, Fedora are alwyas used for system wide shortcut key.

<garykac> 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.

<Travis> Well, that leaves a rift, but may be the best option...?

<garykac> 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?

<garykac> Masayuki: Does FFOS have a separate system accelerator key?

I have no idea for others. I assume that it's used for ignoring some key events simply.

<Travis> I think we are converging on Gary's text.

<Travis> masayuki: anything you'd like to discuss about 26141?

garykac: I guess, no. FxOS doesn't assume connecting physical keyboard at least for now.

<garykac> (which is basically what Masayuki was proposing)

<garykac> masayuki: OK, I was just wondering if it would be a good example to include in the text.

Other bugs to discuss in the time remaining?

garykac: FxOS is really "another" Android OS.

<Travis> Looking at 26141, the request is for clarity on the text associated with the various media keys?

<Travis> ... and confirmation of said text?

Travis: I was confused at bug 26141. On Windows, MediaSelect is launching default media player.

On Windows, the virtual keycode of the key is VK_LAUNCH_MEDIA_SELECT...

I guess that the name comes from WMP have media library feature which allow to select media file to play.

<garykac> Both VK_MEDIA_SELECT and VK_LAUNCH_MEDIA_SELECT are the same key: 0x00b5

<garykac> LaunchMediaSelect sounds like a more accurate name

<Travis> So we have key names for 'MediaSelect' and 'LaunchMediaPlayer'

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".

<Travis> We are thinking of removing 'MediaSelect' and noting that VK_LAUNCH_MEDIA_SELECT is mapped to 'LaunchMediaPlayer'...

<garykac> It sounds like MediaSelect and LaunchMediaPlayer are the same key - they seem to perform the same function.

<garykac> masayuki: what other keys launch media players?

garykac: GDK_CD, GDK_Video, Qt::Key_LaunchMedia

<Travis> Note: Times running short...

garykac: And also "LaunchMusicPlayer" is Qt::Key_Music, KEYCODE_MUSIC (Android), GDK_Music

So, all of "MediaSelect", "LaunchMediaPlayer" and "LaunchMusicPlayer" could be "LaunchMediaPlayer".

<garykac> Do we need a separate value to support GDK_CD? (vs. GDK_Music)

<garykac> "CD" seems a bit anachronistic...

garykac: I don't think so. GDK key names are defined from X11's keysyms.

<Travis> Is everyone available next week? July 15th?

And X11's keysyms have a lot of similar keys.

<garykac> travis: yes

travis: yes.

<garykac> masayuki: Is it a problem to remove MediaSelect and only have LaunchMediaPlayer?

<garykac> masayuki: at the moment, that seems like the best thing to do

garykac: I think it's enough to be only "LaunchMediaPlayer" for them.

<garykac> masayuki: ok sgtm

garykac: because such keys are not so important and browsers cannot distinguish them strictly.

<garykac> yep

garykac: e.g., music player key may launch multi media player.

So, all of them can be just "LaunchMediaPlayer".

I mean "MediaSelect", "LaunchMediaPlayer" and "LaunchMusicPlayer".

<Travis> I think we're all wrapped up today then.

<Travis> See you all next week!

Okay, I'd like you to post come comments to the spec bugs!

<garykac> Remove MediaSelect. Keep LaunchMediaPlayer, LaunchAudioPlayer

<garykac> I updated the bugs already with some notes.

<garykac> Thanks for bringing up these issues.

<garykac> Anyway - I gotta go.

<garykac> Talk to you next week.

garykac: you're welcome.

<Travis> RRSAgent: please make the minutes.

yes, see you.

<Travis> RRSAgent: please generate the minutes

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.138 (CVS log)
$Date: 2014/07/09 01:18:33 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.138  of Date: 2013-04-25 13:59:11  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/VK_MEDIA_SELECT/VK_LAUNCH_MEDIA_SELECT/
No ScribeNick specified.  Guessing ScribeNick: masayuki
Inferring Scribes: masayuki
Default Present: +1.425.936.aaaa, Travis
Present: +1.425.936.aaaa Travis masayuki garykac

WARNING: No meeting title found!
You should specify the meeting title like this:
<dbooth> Meeting: Weekly Baking Club Meeting


WARNING: No meeting chair found!
You should specify the meeting chair like this:
<dbooth> Chair: dbooth

Got date from IRC log name: 09 Jul 2014
Guessing minutes URL: http://www.w3.org/2014/07/09-webapps-minutes.html
People with action items: 

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.


[End of scribe.perl diagnostic output]