Board.KolibriOS.org
http://board.kolibrios.org/

Задержка для двойного клика мышью
http://board.kolibrios.org/viewtopic.php?f=1&t=3100
Страница 1 из 2

Автор:  Leency [ Пн авг 03, 2015 6:16 pm ]
Заголовок сообщения:  Задержка для двойного клика мышью

Нужно добавить в ядро две сисфункции. Кто может это сделать?

Код:
=================================================
=== Функция 18, подфункция 19 - получить/установить настройки мыши. ==
=================================================
Подподфункция 6 - получить задержку для двойного нажатия мышью.
Подподфункция 7 - установить задержку для двойного нажатия мышью.

Автор:  Leency [ Вт авг 04, 2015 1:34 am ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

> CleverMouse « Пн авг 03, 2015 10:03 pm » в ядре вообще нет понятия двойного щелчка
> CleverMouse « Пн авг 03, 2015 10:03 pm » я не знаю, чего Leency хочет
Суть проста - иметь в ядре переменную, обозначающую длительность дойного щелчка мышью.
Двойнок клик сам по себе можно не реализовывать, пока что. Нужно по крайней мере иметь его длительность для начала.

Автор:  pavelyakov [ Вт авг 04, 2015 1:43 am ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Для реализации double click, нужно реализовать down, up, и + за счет длительности времени можно и double click реализовать. Будет очень здорово, если кто нибудь сможет это в ядре реализовать. Но переменную я думаю проще сделать, а она бы сейчас уже бы пригодилась для Eolite, ну и для будущих программ на CMM.

Автор:  GerdtR [ Вт авг 04, 2015 1:54 am ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Хм. Тогда уж лучше вообще сделать функцию: установить значение глобально переменной с заданным id(или ещё как их обозначить) ну и прочитать его. Как в DOS. Или может проще сделать ini со стандартными настройками системы? Заодно параметры SETUP туда же. Пусть и он с ini работает, а не со своим setup.dat

Автор:  Leency [ Вт авг 04, 2015 11:19 am ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Можно и через глобальный settings.ini, но по-моему не разумно для получения интервала двойного клика подключать io.obj и libini.obj.

Потому я прошу добавить сисфункцию.

Автор:  Pathoswithin [ Пт авг 07, 2015 9:27 pm ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Один байт под задержку в сотых секунды. Двойной щелчёк устанавливает бит 7 (8-я кнопка мыши). Двойной щелчёк по заголовку тоже зависит от задержки.

Автор:  pavelyakov [ Пт авг 07, 2015 9:35 pm ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Pathoswithin писал(а):
Один байт под задержку в сотых секунды. Двойной щелчёк устанавливает бит 7 (8-я кнопка мыши). Двойной щелчёк по заголовку тоже зависит от задержки.

а есть события down (при нажатии кнопки мыши), up (при отжатии), move (при изменении координат или при перемещении мыши) ?

Автор:  Pathoswithin [ Сб авг 08, 2015 6:15 am ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Или даже так: 37.2 возвращает еах, где биты 0-4 — состояние кнопок 1-5, биты 8-10 — нажатие кнопок 1-3, биты 16-18 — отпускание кнопок 1-3, бит 24 — двойной щелчок левой кнопкой, биты 7 и 15 — вертикальный и горизонтальный скролл. Если 0 после события, то движение мыши.
Можно добавить ещё, например двойной щелчок колёсиком или... скролл туда сюда?

1234500V 123xx00H 123xx000 1xxxx0rr

Автор:  Leency [ Сб авг 08, 2015 9:39 am ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Спасибо! Я потестю и если ок залью.

> двойной щелчок колёсиком
по-моему излишний

Автор:  pavelyakov [ Сб авг 08, 2015 2:25 pm ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Pathoswithin писал(а):
Или даже так: 37.2 возвращает еах, где биты 0-4 — состояние кнопок 1-5, биты 8-10 — нажатие кнопок 1-3, биты 16-18 — отпускание кнопок 1-3, бит 24 — двойной щелчок левой кнопкой, биты 7 и 15 — вертикальный и горизонтальный скролл. Если 0 после события, то движение мыши.
Можно добавить ещё, например двойной щелчок колёсиком или... скролл туда сюда?

1234500V 123xx00H 123xx000 1xxxx0rr

Спасибо, тоже потестю.
А еще можешь так же и для клавиатуры сделать (нажатие кнопки, отпускание)?

Автор:  pavelyakov [ Сб авг 08, 2015 3:21 pm ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Pathoswithin писал(а):
Или даже так: 37.2 возвращает еах, где биты 0-4 — состояние кнопок 1-5, биты 8-10 — нажатие кнопок 1-3, биты 16-18 — отпускание кнопок 1-3, бит 24 — двойной щелчок левой кнопкой, биты 7 и 15 — вертикальный и горизонтальный скролл. Если 0 после события, то движение мыши.
Можно добавить ещё, например двойной щелчок колёсиком или... скролл туда сюда?

1234500V 123xx00H 123xx000 1xxxx0rr

при отпускании кнопки мыши, срабатывает событие движение мыши, так не должно..
на счет двойного щелчка, лишним не будет для всех 3 кнопок сделать
при движении мыши, во время нажатия мыши, сбрасывается бит, что тоже не удобно при перемещении элементов, я думаю лучше событие move поместить как отдельный бит, при 1 событие move -- 0 не move. А при отпускании кнопки мыши сбрасывать биты нажатой. При нажатии, сбрасывать отжатые. При движении мыши сбрасывать отжатые.

Автор:  Pathoswithin [ Сб авг 08, 2015 10:22 pm ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

pavelyakov писал(а):
при отпускании кнопки мыши, срабатывает событие движение мыши
Не понял, подробней.
Сам драйвер мыши устанавливает только первые 5 бит, они означают состояние кнопок. Остальные биты означают событие, которое произошло только что, и сбрасываются при следующем событии от драйвера. Событие "движение мыши" будет расцениваться текущими программами как нажатие какой-то кнопки, поэтому его нет и не будет.
А главное, что я всего лишь вывел то, что было в ядре. Кажется, у проекта есть проблема... всемпохуй.

Автор:  punk_joker [ Сб авг 08, 2015 10:53 pm ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

pavelyakov писал(а):
А еще можешь так же и для клавиатуры сделать (нажатие кнопки, отпускание)?

Это уже и так реализованно. Читай скан код нажатой клавиши, он разный для нажатия и для отпускания. Все комбинации клавишь в Eolite тоже необходимо перевести на скан-кода (как раз этим занимаюсь).

Автор:  punk_joker [ Сб авг 08, 2015 11:07 pm ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Большинство, из того что нужно, можно и нужно реализовать в userspase, тобишь в библиотеках (написать тот же тулкит для построения GUI). Это одна сторона проблемы (которую могут решить и многие прикладники). С другой стороны, необходимо улучшить эту самую систему библиотек и процедуру их загрузки (этим как раз и занимается CleverMouse, работая над реализацией DLL, это так же даст то, что библиотеки будут единожды загружены в память, и доступными всем приложениям, если я не прав, то поправте). Так что утверждение что всем всеравно, не совсем правильное. Яркий пример правильного подхода, библиотека http.obj от hidnplayr, которая предоставляет высокоуровневый нтерфейс для работы с протоколов http. Ядро должно предоставлять лишь необходимый минимум, для всего остального есть библиотеки. Но да, каждый предпочитает в основном изобретать велосипеды, или переосить их с одной программы в другую, вместо того, чтобы вынести это в общую библиотеку.

Автор:  GerdtR [ Вс авг 09, 2015 3:48 am ]
Заголовок сообщения:  Re: Задержка для двойного клика мышью

Оффтопик: в Википедии или ещё где задокументировать библиотеки и их API (в Вики есть, но там далеко не всё и устарело) . Авось пользоваться чаще будут. Лень же копаться в форуме и исходниках. Да и не всегда найдёшь эти описания-то.

Страница 1 из 2 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/