LINUX.ORG.RU

Ответ на: комментарий от EXL

text() выдаёт юникод строку, по nativeScanCode() нет нормальной документации и неясно, насколько оно кроссплатформенно.

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

неясно, насколько оно кроссплатформенно.

Да вот же они, положила!

Note: On Mac OS/X, this function is not useful, because there is no way to get the scan code from Carbon or Cocoa. The function always returns 1 (or 0 in the case explained above).

fluorite ★★★★★
()
Ответ на: комментарий от fluorite

а, точно, запамятовал, что видел это уже. тогда неясно, что делать на Mac OS/Х. ну, допустим, найду, что. неясно, совпадают ли кейкоды линукса и оффтопа, и на каких ядрах.

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

Скан-код - это цифирка, которую посылает контроллер клавиатуры.
В общем случае, при смене клавиатуры эти цифирки могут изменится.

Так что вопрос о кросплатформености скан-кодов просто не имеет смысла.

AF ★★★
()
Ответ на: комментарий от AF

В общем случае, при смене клавиатуры эти цифирки могут изменится.

в теории, для стандартных клавиш они должны быть одинаковы

Так что вопрос о кросплатформености скан-кодов просто не имеет смысла.

но получает-то куте сканкод не от контроллера, а от ОС, которая, в теории, эти циферки может модифицировать,

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

но получает-то куте сканкод не от контроллера, а от ОС, которая, в теории, эти циферки может модифицировать,

Смешались в кучу кони, люди....

Постарайся понять, шо клавиатура работает с кнопками! Кодировки тут и рядом не валялись. Тот факт, что на кнопках нарисованы символы - это чистой воды совпадение. Существует несколько наборов кодов от клавиатуры. Ни низком уровне - скан-коды. Да, они довольно неплохо стандаризированы, но на практике этого стандрата мало. Поэтому операционка преобразовывает скан-коды в свои виртуальные коды. А потом еще и Qt, который должен работать на куче платформ, вносит свой уровень абстракции - свои коды, которые независят от платформы.
Рискну предположить, шо тебе с головой хватит того кода, который возвращает int QKeyEvent::key() const. Это именно код нажатой кнопки, а не код символа в UTF или какой либо другой кодировке.

AF ★★★
()
Ответ на: комментарий от AF

Кодировки тут и рядом не валялись.

при чём тут вообще кодировки?

Поэтому операционка преобразовывает скан-коды в свои виртуальные коды

вот! где гарантия, что у разных ОС эти виртуальные коды совпадают?

А потом еще и Qt, который должен работать на куче платформ, вносит свой уровень абстракции - свои коды, которые независят от платформы.

собственно, это я и хотел услышать. в документации про это нигде не написано

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

при чём тут вообще кодировки?

Так и я ж о чем! Но ты сам писал про юникод нажатой клавиши ))

AF ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.