Comment 203 for bug 263435

Revision history for this message
In , Timwi (timwi) wrote :

> - ctrl button, by itself, is often used to control flash games. Not sending
> this button to plugin will cause all sorts of problems by itself

Hm, well this theory would require that such flash games don't work in IE7. IE7 handles flash applets correctly. Ctrl+T, Ctrl+Tab etc. still work, and even Tab and Shift+Tab can be used to tab into the flash applet, through the various items within the flash applet, and then back out at the end, as if it was a set of form elements on the website. Firefox should not be contented with anything less than this.

> - keeping and maintaing a list of keys that work in flash and a list of keys
> which work in browser is strange and non-obvious.

But this is already done in all form elements. Some override the arrow keys (textareas, radio buttons), while others relay them to the webpage and thus cause scrolling (buttons, checkboxes). Similarly for combinations like Ctrl+C or Ctrl+Home. Why is it any different to have the browser chrome "preview" key events before sending them to the website?

> there will be a (sensible) argument that user doesn't know what to expect
> before he tries, etc.

It is the situation _at the moment_ that the user doesn't know what to expect when they press Ctrl+T etc. Surely that is the very problem we are trying to rectify. I think my suggestion solves it.

> It also causes various plugin keystrokes to no longer work in new browser
> versions as the list gets revised (for example because of new feature which
> gets a new, previously unused, combo).

I think that's reasonable. I think plugins that are _embedded in a website_ should not expect to be able to use any keys or key combos that wouldn't also be available to a form element. Even with plugins that run in a tab, I'd still argue that browser features should take precedence, *especially* if it's something as essential as Ctrl+Tab or Ctrl+W, which prevents the user from escaping the plugin entirely.

> And there's no easy way around it.

I'm not saying it would be easy, but I think it's the right way.