SysFn17/ru

From KolibriOS wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Функция 17 - получить идентификатор нажатой кнопки.


Забирает код нажатой кнопки из буфера. Параметры:

  • eax = 17 - номер функции

Возвращаемое значение:

  • если буфер пуст, возвращается eax=1
  • если буфер непуст:
  • старшие 24 бита eax содержат идентификатор кнопки
(в частности, в ah оказывается младший байт идентификатора;
если все кнопки имеют идентификатор, меньший 256,
то для различения достаточно ah)
  • al = 0 - кнопка была нажата левой кнопкой мыши
  • al = бит, соответствующий нажавшей кнопке мыши, если не левой

Замечания:

  • "Буфер" хранит только одну кнопку, при нажатии новой кнопки
информация о старой теряется.
  • При вызове этой функции приложением с неактивным окном
возвращается ответ "буфер пуст".
  • Возвращаемое значение al соответствует состоянию кнопок мыши
в формате подфункции 2 функции 37 в момент начала нажатия
на кнопку, за исключением младшего бита (соответствующего левой
кнопке мыши), который сбрасывается.

Константы для регистров:

eax - SF_GET_BUTTON (17)