Comments 46
Вот, вы не первые: unixpapa.com/js/key.html ;-)
Вобщем, если вам нужны модификаторы, то есть event.altKey, event.ctrlKey, event.shiftKey, event.metaKey. А если отдельно именно кнопки, то да, маленько геморроя есть.
Вобщем, если вам нужны модификаторы, то есть event.altKey, event.ctrlKey, event.shiftKey, event.metaKey. А если отдельно именно кнопки, то да, маленько геморроя есть.
+6
«Некроссбраузерный» читать как некро? правила_русского
-9
Винда на виртуалке:
Chromium 3(Stable)
IE
Chromium 3(Stable)
16:1; 116:0;
16:1; 17:1; 116:0;
16:0; 17:1; 116:0;
16:1; 17:1; 116:0;
16:1; 17:0; 116:0;
16:1; 17:0; 18:1; 116:0;
16:0; 17:0; 18:1; 116:0;
16:1; 17:0; 18:1; 116:0;
16:0; 17:1; 18:0; 116:0;
16:0; 17:1; 18:1; 116:0;
16:0; 17:0; 18:1; 116:0;
16:0; 17:1; 18:1; 116:0;
IE
16:1;
16:1; 17:1;
16:0; 17:1;
16:1; 17:1;
16:1; 17:0;
16:1; 17:0; 18:1;
16:1; 17:0; 18:0;
16:0; 17:1; 18:0;
16:0; 17:1; 18:1;
16:0; 17:0; 18:1;
16:0; 17:1; 18:1;
16:0; 17:1; 18:0;
+1
Что, то мне кажется это GTK так капризничает
0
net.tutsplus.com/articles/web-roundups/17-hours-of-javascript-from-the-masters/
9: Javascript Events
В этом скринкасте Peter-Paul Koch очень доходчиво говорит про события. Мне вчера очень помогло, может и вам поможет.
9: Javascript Events
В этом скринкасте Peter-Paul Koch очень доходчиво говорит про события. Мне вчера очень помогло, может и вам поможет.
+1
А event.which не спасает?
https://developer.mozilla.org/en/DOM/event.which
https://developer.mozilla.org/en/DOM/event.which
+1
Там ещё есть ctrlKey, altKey и специально подумали о маках: metaKey.
+2
К тому же Firefox по-разному реагирует на клавиатурные события в Linux и Windows
Welcome in webdev :)
Welcome in webdev :)
+5
может дело в xorg?
+1
вы ещё на маке их не пробовали, там тоже повеселитесь; ))
0
Я обещал, что прийду в следующем посте про баг оперы? Ыххыхыхыхы :)
0
Брысь под лавку. В Опере все отлично, проблема в линуксе.
-3
Проще всего винить всех остальных: операционную систему, пользователя, девелопера, богов на Олимпе. Но Опера традиционно ни при чем.
+3
Виндовс:
Все браузеры ОК.
Линукс:
Все браузеры глючат.
Виноват Зевс, определенно.
Все браузеры ОК.
Линукс:
Все браузеры глючат.
Виноват Зевс, определенно.
0
Поясню. Виноваты девелоперы оперы, которые не заметили такой вот баг в линуксе. Но емое, отчего же так мало постов на тему подобных багов в фаерфоксе (про баги в сафари вообще ничего не слышно)?
-1
Дятел, это и есть пост про подобный баг и в фаерфоксе тоже.
-2
Ага, а в последний раз когда такой был? :)
-1
8 дней назад. Я удовлетворил ваше любопытство?
-2
А про оперу два дня назад. Потом еще два дня назад.
-1
Складывается такое впечатление что веб-разработка для вас начинается строкой alert('Hello World') и заканчивается alert('Bye world'), вы абсолютно неадекватно реагируете на баги Оперы, поверьте эти баги не столь критичны что с ними нельзя совладать. Из личного опыта могу сказать что с клавиатурными событиями все браузеры работают абсолютно по-разному, месяца 3 назад писал Input Mask, как там я это понял в полной мере, однако если сразу обратить на это внимание то код при этом удлинится максимум на 10 строчек (если не учитывать код по работе с кареткой в IE и не IE), при этом будут учтены все особенности работы основных браузеров Opera, IE, FF, Chrome/Safari. Так что не надо во всех смертных грехах обвинять оперу, вы просто этим пытаетесь оправдать собственную лень.
+3
Поясню. Виноваты девелоперы оперыНеожиданно, правда? :)
+2
UFO just landed and posted this here
Чиатйте quirksmode, и поймете, где вы накосячили.
0
UFO just landed and posted this here
Напписали же — надо смотреть свойства event.ctrlKey и иже с ними, а не keyCode
-1
А вы не пробовали смотреть на jQuery Hotkeys Plugin?
0
Вы не поверите :)
Firefox
shift + ctrl — 16+17
ctrl + shift — 17+16
shift + alt — 16+18
alt + shift — 18+16
ctrl + alt — 17+18
alt + ctrl — 18+17
Chromium (местами ничего не переставлял, именно так и выводится)
shift + ctrl — 16+17
ctrl + shift — 16+17
shift + alt — 16+18
alt + shift — 16+18
ctrl + alt — 17+18
alt + ctrl — 17+18
Opera
shift + ctrl — 16+17
ctrl + shift — 17+16
shift + alt — 16+18
alt + shift — 18 + 16
ctrl + alt — 17+18
alt + ctrl — 18+17
Linux amelin 2.6.31-gentoo-r6
[ebuild R ] x11-base/xorg-server-1.6.5-r1
[ebuild R ] www-client/opera-10.10
[ebuild R ] www-client/chromium-bin-4.0.251.0_p32167
[ebuild R ] www-client/mozilla-firefox-3.5.5
[ebuild R ] kde-base/kdebase-meta-4.3.3
[ebuild R ] x11-drivers/xf86-input-evdev-2.3.1
Firefox
shift + ctrl — 16+17
ctrl + shift — 17+16
shift + alt — 16+18
alt + shift — 18+16
ctrl + alt — 17+18
alt + ctrl — 18+17
Chromium (местами ничего не переставлял, именно так и выводится)
shift + ctrl — 16+17
ctrl + shift — 16+17
shift + alt — 16+18
alt + shift — 16+18
ctrl + alt — 17+18
alt + ctrl — 17+18
Opera
shift + ctrl — 16+17
ctrl + shift — 17+16
shift + alt — 16+18
alt + shift — 18 + 16
ctrl + alt — 17+18
alt + ctrl — 18+17
Linux amelin 2.6.31-gentoo-r6
[ebuild R ] x11-base/xorg-server-1.6.5-r1
[ebuild R ] www-client/opera-10.10
[ebuild R ] www-client/chromium-bin-4.0.251.0_p32167
[ebuild R ] www-client/mozilla-firefox-3.5.5
[ebuild R ] kde-base/kdebase-meta-4.3.3
[ebuild R ] x11-drivers/xf86-input-evdev-2.3.1
+2
аналогично
Debian SID
xserver-xorg 1:7.4+4
linux-headers-2.6.30-1-686-bigmem 2.6.30-6
kdebase-workspace 4:4.3.2-2
xserver-xorg-input-evdev 1:2.2.5-1
что-то мне подсказывает, что копать можно в сторону EVDEV, у топикстартера какой драйвер на клавиатуру?
Debian SID
xserver-xorg 1:7.4+4
linux-headers-2.6.30-1-686-bigmem 2.6.30-6
kdebase-workspace 4:4.3.2-2
xserver-xorg-input-evdev 1:2.2.5-1
что-то мне подсказывает, что копать можно в сторону EVDEV, у топикстартера какой драйвер на клавиатуру?
+2
тот, что по-умолчанию в Кубунту 9.10. у меня обычная не хитровыеб не навороченная клавиатура.
если такая проблема только у меня, то это меня, в общем то, радует. но пути решения этой проблемы буду рад узнать.
если такая проблема только у меня, то это меня, в общем то, радует. но пути решения этой проблемы буду рад узнать.
0
попробуйте поставить xserver-xorg-input-evdev и в /etc/X11/xorg.conf указать:
хотя вот сейчас проверил с драйвером kbd, тоже корректно возвращает… хм…
ls /dev/input/by-id -l
итого 0
…
lrwxrwxrwx 1 root root 9 Ноя 28 04:02 usb-Microsoft_Natural__Ergonomic_Keyboard_4000-event-if01 -> ../event2
lrwxrwxrwx 1 root root 9 Ноя 28 04:02 usb-Microsoft_Natural__Ergonomic_Keyboard_4000-event-kbd -> ../event1
Section «InputDevice»
Identifier «Keyboard0»
Driver «evdev»
Option «CoreKeyboard»
Option «Device» "/dev/input/event1"
Option «XkbRules» «xorg»
Option «XkbLayout» «us,ru»
Option «XkbModel» «evdev»
Option «XkbOptions» «grp:alt_shift_toggle,grp_led:scroll»
EndSection
хотя вот сейчас проверил с драйвером kbd, тоже корректно возвращает… хм…
+1
Хм… Это всё:
shock@shock:~$ ls /dev/input/by-id -l
итого 0
lrwxrwxrwx 1 root root 9 2009-11-27 14:47 usb-Genius_Optical_Mouse-event-mouse -> ../event4
lrwxrwxrwx 1 root root 9 2009-11-27 14:47 usb-Genius_Optical_Mouse-mouse -> ../mouse1
0
shock@shock:~$ sudo apt-get install xserver-xorg-input-evdev
[...]
Уже установлена самая новая версия xserver-xorg-input-evdev.
0
Section "InputDevice"
Identifier "Keyboard0"
Driver "evdev"
Option "CoreKeyboard"
# Option "Device" "/dev/input/event1"
Option "XkbRules" "xorg"
Option "XkbLayout" "us,ru(winkeys),ua(winkeys)"
Option "XkbModel" "evdev"
Option "XkbOptions" "grp:ctrl_shift_toggle"
EndSection
Если строку Девайс не закомментировать — Иксы отказывались запускаться. Так — ничего не изменилось
0
хм… какая-то странная ситуация… что за клавиатура? явно не USB предполагаю?
и winkeys давно деприкейтед, уже больше года. Может быть оно влияет? у меня с ним даж не стартуют иксы, попробуй просто ru
и winkeys давно деприкейтед, уже больше года. Может быть оно влияет? у меня с ним даж не стартуют иксы, попробуй просто ru
+1
хм… какая-то странная ситуация… что за клавиатура? явно не USB предполагаю?
Genius w2036, PC/2, чёрненькая
0
ааа… чёрненькая! Ну с этого и надо было начинать! Все дело в цвете пластика конечно же!
хз… у тебя по дефолту какой драйвер стоял?
хз… у тебя по дефолту какой драйвер стоял?
0
по-дефолту у меня был такой xorg.conf: pastebin.ru/308759
0
Sign up to leave a comment.
Не кроссбраузерный event