реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> нажатие кнопки, в течение определенного интервала
XVR
сообщение Sep 9 2010, 06:45
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
Зачем нужно 5с событие, которое произошло полчаса назад, когда на кнопку, например, сели попой и заметили это только сейчас?
Кстати, это весьма ценное замечание (про 'сели попой')
Реальный случай -
Делали систему управления конференц залом (среди прочего управляемые шторы, экран, проектор, свет). У системы было 4 пульты управления (3 на основе LCD экранчиков с touch screen'ом и один полноразмерный PC). У заказчиков было требование - ко всем этим пультам сделать еще в добавок одну 'тревожную' кнопку - при коротком нажатии на нее должен был включаться свет (если что то не так пойдет в презентации, что бы люди в зале не сидели в темноте), а при длительном - весь зал приводится в исходное состояние (открыть шторы, поднять экран, выключить проектор и т.д.)
Кнопка была сделана, в добавок к кнопке был сделан светодиод для индикации времени нажатия, и был сделан 3й таймаут (как раз из серии 'сели попой') - он индицировался вспышками светодиода.
Заказчик потом долго благодарил за 3й таймаут, когда в процессе одной ОЧЕНЬ важной презентации на кнопку в темноте положили книгу smile.gif
Go to the top of the page
 
+Quote Post
Demeny
сообщение Sep 9 2010, 11:49
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(rezident @ Sep 8 2010, 23:19) *
Ну и что? Пауза 3с всегда короче 5с и возникает раньше второго события. Время штука непрерывная и необратимая.

Тогда объясните, пожалуйста, как в Вашем алгоритме запустить действие (вызвать функцию), которое необходимо выполнять по трёхсекундному удержанию кнопки ? Я думаю, очевидно, что если кнопка удерживается 5 секунд - то трёхсекундное действие выполнять НЕ нужно.
А у Вас событие "кнопка удержана 3 с" формируется даже тогда, когда кнопка удерживается уже 5 с -- вот собственно суть того, с чем я не согласен. Поэтому, на мой взгляд, и логично формировать событие "кнопка удержана 3 с", когда она уже отпущена.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 9 2010, 12:20
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Demeny @ Sep 9 2010, 17:49) *
Тогда объясните, пожалуйста, как в Вашем алгоритме запустить действие (вызвать функцию), которое необходимо выполнять по трёхсекундному удержанию кнопки ? Я думаю, очевидно, что если кнопка удерживается 5 секунд - то трёхсекундное действие выполнять НЕ нужно.

Не нужно - не выполняйте. laughing.gif События разные и (скан-)коды, соответствующие этим событиям, тоже разные. Вас ведь наверное не удивляет, что стандартная клавиатура состоящая из 102 кнопок генерирует больше двух сотен скан-кодов, не так ли? wink.gif По крайней мере каждая клавиша в ней генерирует два скан-конда, один соответствует ее нажатию, а второй ее отпусканию. А еще играет рояль сочетание клавиш.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 9 2010, 12:40
Сообщение #34


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



По "отжатию" не стоит работать ещё и потому, что это очень неприятно для оператора.
Обычно люди отпускают кнопку, реагируя не некое событие (звуковой сигнал, смена картинки и т.д.)
Если этого нет, возникает дискомфорт.
Да и вообще, как узнать, прошли уже 5 секунд, или только 4? А если 4.99?
Так что как минимум аудио-визуальный раздражитель по истечении периода должен быть.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Sep 9 2010, 16:27
Сообщение #35


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(MrYuran @ Sep 9 2010, 16:40) *
По "отжатию" не стоит работать ещё и потому, что это очень неприятно для оператора.

Странно , психологи считают наоборот. И основываются на физиологии нажатия и отпускания кнопки человеком. Но на клавиатуре компа используется и нажатие и отпускание кнопки.
Хотя об этом уже было написано.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 9 2010, 17:56
Сообщение #36


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(ILYAUL @ Sep 9 2010, 22:27) *
Странно , психологи считают наоборот.

Так это небось британские психологи? biggrin.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Sep 9 2010, 21:29
Сообщение #37


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(AHTOXA @ Sep 9 2010, 21:56) *
Так это небось британские психологи? biggrin.gif

Вы попробуйте сами оценить как Вы нажимаете кнопки клавиатуры и все поймёте. laughing.gif


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 9 2010, 22:27
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(ILYAUL @ Sep 9 2010, 22:27) *
Странно , психологи считают наоборот. И основываются на физиологии нажатия и отпускания кнопки человеком.

Ерунда какая-то. Пользователь жмет (увеличивает усилие на) кнопку пока не поймет, что кнопка нажата и устройство ввода восприняло его команду нажатия. Так что на клавиатуре без тактильного эффекта работать по отпусканию вообще невозможно. Пользователь через пять минут весь исплюется и потребует себе нормальную клаву, которая либо "клик" дает, либо по факту нажатия работает.
Go to the top of the page
 
+Quote Post
Demeny
сообщение Sep 10 2010, 06:35
Сообщение #39


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(rezident @ Sep 9 2010, 16:20) *
Не нужно - не выполняйте. laughing.gif События разные и (скан-)коды, соответствующие этим событиям, тоже разные. Вас ведь наверное не удивляет, что стандартная клавиатура состоящая из 102 кнопок генерирует больше двух сотен скан-кодов, не так ли? wink.gif

Рассмотрим пример. Кофейный автомат с одной кнопкой. По трёхсекундному нажатию он должен наливать кофе, а по пятисекундному - возвращать клиенту деньги. Проще говоря, короткое нажатие - наливаем кофе (если деньги внесены), длинное нажатие - возврат денег.
Ваш конечный автомат, обслуживающий кнопку, сначала начнёт наливать кофе, а потом вернёт деньги. Как ни крутите - решение о выполняемом действии надо принимать при отпускании кнопки.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 10 2010, 06:59
Сообщение #40


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(ILYAUL @ Sep 10 2010, 01:29) *
Вы попробуйте сами оценить как Вы нажимаете кнопки клавиатуры и все поймёте. laughing.gif

Вообще-то, буквы выскакивают при нажатии, а не при отпускании.
А вот инженеры филипса при проектировании радиотрубки руководствовались наверно мнением британских психологов.
При нажатии кнопки раздаётся звук, а при отпускании - появляется цифра на экране.
Бесит этот факт неимоверно. Особенно поначалу.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Sep 10 2010, 08:33
Сообщение #41


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(rezident @ Sep 10 2010, 02:27) *
Ерунда какая-то. Пользователь жмет (увеличивает усилие на) кнопку пока не поймет, что кнопка нажата и устройство ввода восприняло его команду нажатия. Так что на клавиатуре без тактильного эффекта работать по отпусканию вообще невозможно. Пользователь через пять минут весь исплюется и потребует себе нормальную клаву, которая либо "клик" дает, либо по факту нажатия работает.

Я же написал , что клавиатура работает по двойному принципу и нажатие и отпускание.
Их иследования показали , что при нажатии на кнопку , человек производит целую гамму всевозможных действий , т.т "выцеливание кнопки , расчёт силы нажатия (удара) по кнопке , удержание и ещё чего то заумное ( типа , а толи я нажал) то есть напрягаются целлая гамма мышец и мозгового вещества. ( Ищу снова эту статью) . Зато при отжатии , мозги вообще не работают. Не нужны . Мышицы под давлением кнопки раслабляются и все и Вы не отслеживаете чё там с этой кнопкой


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 10 2010, 08:42
Сообщение #42


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(MrYuran @ Sep 10 2010, 12:59) *
При нажатии кнопки раздаётся звук, а при отпускании - появляется цифра на экране.

Видимо, там как-то отрабатывается ещё и длинное нажатие. В этом случае иначе -- никак. Хорошо хоть звук сразу.
Цитата(ILYAUL @ Sep 10 2010, 14:33) *
Мышицы под давлением кнопки раслабляются и все и Вы не отслеживаете чё там с этой кнопкой

Шикарное научное объяснение! У британских учёных завёлся достойный последовательsmile.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 10 2010, 09:00
Сообщение #43


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(AHTOXA @ Sep 10 2010, 12:42) *
Видимо, там как-то отрабатывается ещё и длинное нажатие. В этом случае иначе &mdash; никак. Хорошо хоть звук сразу.

В сотовых трубках тоже отрабатывается длинное нажатие. Однако, цифра выскакивает при нажатии. Если этого не происходит, человек пользователь с непривычки давит ещё раз, в результате дублирование цифры и сочные эпитеты в адрес разработчиков


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 10 2010, 09:22
Сообщение #44


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Оно там не всегда обрабатывается, а только из режима ожидания. Поэтому цифры появляются сразу, но не все. Первая цифра (когда возможно длинное нажатие) - появляется при отпускании. По крайней мере в тех телефонах, которые у меня были, так.
ЗЫ. Хотя да, можно и по нажатию, а потом стирать...


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 10 2010, 12:51
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Demeny @ Sep 10 2010, 12:35) *
Ваш конечный автомат, обслуживающий кнопку, сначала начнёт наливать кофе, а потом вернёт деньги. Как ни крутите - решение о выполняемом действии надо принимать при отпускании кнопки.

Я понял вас. Это немного другой случай. Для него автомат состояний дополняется еще одним состоянием - "отложенное событие 3с". Т.е. если кнопку отпустили после 3с, но до истечения 5с, то генерируется событие 3с. В то время как событие 5с генерируется точно также как и раньше - сразу по истечение 5с интервала нажатия.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 04:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01491 секунд с 7
ELECTRONIX ©2004-2016