Board.KolibriOS.org

Official KolibriOS board
It is currently Thu May 23, 2019 2:20 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 19 posts ]  Go to page 1 2 Next
Author Message
PostPosted: Mon Aug 03, 2015 6:16 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Нужно добавить в ядро две сисфункции. Кто может это сделать?

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

_________________
Через тернии к звездам


Top
   
PostPosted: Tue Aug 04, 2015 1:34 am 
Offline
Designer
User avatar

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

_________________
Через тернии к звездам


Top
   
PostPosted: Tue Aug 04, 2015 1:43 am 
Offline
User avatar

Joined: Wed Apr 15, 2015 11:13 pm
Posts: 253
Для реализации double click, нужно реализовать down, up, и + за счет длительности времени можно и double click реализовать. Будет очень здорово, если кто нибудь сможет это в ядре реализовать. Но переменную я думаю проще сделать, а она бы сейчас уже бы пригодилась для Eolite, ну и для будущих программ на CMM.


Top
   
PostPosted: Tue Aug 04, 2015 1:54 am 
Offline
User avatar

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

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
PostPosted: Tue Aug 04, 2015 11:19 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Можно и через глобальный settings.ini, но по-моему не разумно для получения интервала двойного клика подключать io.obj и libini.obj.

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

_________________
Через тернии к звездам


Top
   
PostPosted: Fri Aug 07, 2015 9:27 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
Один байт под задержку в сотых секунды. Двойной щелчёк устанавливает бит 7 (8-я кнопка мыши). Двойной щелчёк по заголовку тоже зависит от задержки.


Top
   
PostPosted: Fri Aug 07, 2015 9:35 pm 
Offline
User avatar

Joined: Wed Apr 15, 2015 11:13 pm
Posts: 253
Pathoswithin wrote:
Один байт под задержку в сотых секунды. Двойной щелчёк устанавливает бит 7 (8-я кнопка мыши). Двойной щелчёк по заголовку тоже зависит от задержки.

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


Top
   
PostPosted: Sat Aug 08, 2015 6:15 am 
Offline
Mentor/Kernel Developer
User avatar

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

1234500V 123xx00H 123xx000 1xxxx0rr


Top
   
PostPosted: Sat Aug 08, 2015 9:39 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Спасибо! Я потестю и если ок залью.

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

_________________
Через тернии к звездам


Top
   
PostPosted: Sat Aug 08, 2015 2:25 pm 
Offline
User avatar

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

1234500V 123xx00H 123xx000 1xxxx0rr

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


Top
   
PostPosted: Sat Aug 08, 2015 3:21 pm 
Offline
User avatar

Joined: Wed Apr 15, 2015 11:13 pm
Posts: 253
Pathoswithin wrote:
Или даже так: 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. А при отпускании кнопки мыши сбрасывать биты нажатой. При нажатии, сбрасывать отжатые. При движении мыши сбрасывать отжатые.


Top
   
PostPosted: Sat Aug 08, 2015 10:22 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
pavelyakov wrote:
при отпускании кнопки мыши, срабатывает событие движение мыши
Не понял, подробней.
Сам драйвер мыши устанавливает только первые 5 бит, они означают состояние кнопок. Остальные биты означают событие, которое произошло только что, и сбрасываются при следующем событии от драйвера. Событие "движение мыши" будет расцениваться текущими программами как нажатие какой-то кнопки, поэтому его нет и не будет.
А главное, что я всего лишь вывел то, что было в ядре. Кажется, у проекта есть проблема... всемпохуй.


Top
   
PostPosted: Sat Aug 08, 2015 10:53 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1148
pavelyakov wrote:
А еще можешь так же и для клавиатуры сделать (нажатие кнопки, отпускание)?

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

_________________
я лишь учусь


Top
   
PostPosted: Sat Aug 08, 2015 11:07 pm 
Offline

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

_________________
я лишь учусь


Top
   
PostPosted: Sun Aug 09, 2015 3:48 am 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 455
Offtopic: в Википедии или ещё где задокументировать библиотеки и их API (в Вики есть, но там далеко не всё и устарело) . Авось пользоваться чаще будут. Лень же копаться в форуме и исходниках. Да и не всегда найдёшь эти описания-то.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 19 posts ]  Go to page 1 2 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited