some Opera key handling fixes (not perfect yet)

This commit is contained in:
Fabian Jakobs 2010-12-15 15:40:53 +01:00
commit a2d271677f
3 changed files with 10 additions and 3 deletions

View file

@ -44,6 +44,7 @@ exports.isMac = (os == "mac");
exports.isLinux = (os == "linux");
exports.isIE = ! + "\v1";
exports.isGecko = window.controllers && window.navigator.product === "Gecko";
exports.isOpera = window.opera && Object.prototype.toString.call(window.opera) == "[object Opera]";
exports.provide = function(namespace) {
var parts = namespace.split(".");

View file

@ -224,7 +224,7 @@ exports.addKeyListener = function(el, callback) {
});
// repeated keys are fired as keypress and not keydown events
if (core.isMac && core.isGecko) {
if (core.isMac && (core.isGecko || core.isOpera)) {
exports.addListener(el, "keypress", function(e) {
var keyId = e.keyIdentifier || e.keyCode;
if (lastDown !== keyId) {