Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   KeyCode специальных клавиш на Mac (https://javascript.ru/forum/misc/33486-keycode-specialnykh-klavish-na-mac.html)

ByKraB 25.11.2012 11:27

KeyCode специальных клавиш на Mac
 
Приветствую всех

Собственно, сразу к вопросу.
В ноутах от Apple клавиши F1-F12 имею дополнительный функционал, по типу управления плеером или регулирования яркости экрана. Можно ли как-либо отследить нажатие этих клавиш с помощью Javascript? Причем именно то нажатие, когда задействован дополнительный фукнционал?

Буду рад хотя бы ссылке на инфу, т.к не знаю, по какому запросу искать )

Заранее спасибо за потраченное на чтение время.

9xakep 25.11.2012 12:08

<body>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>

<body>
<script>
document.body.addEventListener('keyup', function (e) {
	var key = e.keyCode;
	if (key == 123) alert('Была нажата клавиша F12');
}, false)
</script>
</body>
</html>


И у тебя немного другая проблема) При нажатии клавиши F12 выходит консоль)

ByKraB 25.11.2012 12:27

9xakep, у меня в системе F12 отвечает за увеличение громкости.
Вот мне и нужно отследить, когда при нажатии на F12 идет увеличение громкости.

Я алертил коды всех нажатых клавиш. Когда F12 увеличивает громкость, то алерт не появляется. Как отследить такое нажатие?

ruslan_mart 25.11.2012 12:31

ByKraB, думаю никак, значит кнопка только чисто для громкости и у неё нет кода клавиши, так же как и у кпонки выключения компьютера.

ByKraB 25.11.2012 12:42

Цитата:

Сообщение от Ruslan_xDD (Сообщение 217720)
ByKraB, думаю никак, значит кнопка только чисто для громкости и у неё нет кода клавиши, так же как и у кпонки выключения компьютера.

Это не отдельная кнопка. Просто действие увеличения громкости "висит" на F12. Если зажать Fn , то при нажании получим обычную F12. Вот только у FN тоже нет кода. Если хотя бы зажатие FN отследить.

dmitry111 25.11.2012 14:11

ByKraB,

f12 это не кнопка громкости.

Чтобы на маке работать с клавишами F нужно нажимать и удерживать Fn

ByKraB 25.11.2012 18:48

dmitry111
Если у вас такие настройки, то к вам у меня другой вопрос.
Как отследить нажатие кнопок Fn + F12 ?

9xakep 25.11.2012 18:53

ByKraB,
Забавно, но:

При нажатии на F12: keyCode == 123
При нажатии на Fn: keyCode == null
При нажатии на Fn+F12: keyCode == 145 :)

=====

Вот что еще забавно) Короче, там где с Fn дом функции есть, там keyCode другой, то есть у меня на f11 ничего нет, и код 122, и при fn+f11 = 122, но при этом: f12 = 123, fn+f12 = 145 (на f12 у меня ScrLk)

dmitry111 25.11.2012 20:22

ByKraB,

зачем вам использовать функциональные клавиши с javascript?

У каждой операционной системы (а то и у версий ос) они могут выдавать различные значения. А могут и вообще ничего не выдавать.
Эти клавиши нужны для работы с ОС, и при нажатии на них в первую очередь будет реагировать сама ос.

Это так же абсурдно как пытаться получить значение в браузере от кнопки вкл/выкл ноута))

ByKraB 26.11.2012 10:55

9xakep,
Вот это уже действительно интересно.
Поделитесь секретом, как вам удалось получить код клавиш с Fn
Пробовал через "e.KeyCode" - глухо ))
dmitry111,
Функциональные клавиши нужны для юзерскрипта, который будет использоваться узким кругом людей, у которых ОС и версии будут 100% совпадать.


Часовой пояс GMT +3, время: 23:33.