Войти
ФлеймФорумПрограммирование

Контекстное меню (говно), но улучшено

Страницы: 1 2 3 4 Следующая »
#0
12:10, 25 июля 2022

Как часто вы пользуетесь драг-н-дропом на правую кнопку мыши в различных программах?

Я считаю, что вместо этого, можно использовать правую кнопку мыши для рисования жестов.

Чтобы жесты можно было рисовать максимально быстро, введём несколько ограничений на форму:
1. Весь жест - это ломаная линия. Мы не будем определять круги, спирали, петли и прочую кривизну - только прямые отрезки.
2. Длина каждого отрезка значения не имеет.
3. Соединения отрезков - только под прямым углом. Если пользователь нарисовал полукруг буквой С - это может определиться только как ←↓→, никаких неоднозначностей.
4. Начальная линия отрезка может идти под углом в 45. Если первая линия пошла наискосок - то и все последующие должны идти по диагоналям, чтобы относительные углы оставались равны 90.
5. Один жест не может быть префиксом второго. Если у нас в словаре уже зарегистрирован ←↓→ - то ←↓ больше нельзя ничего назначать. Если пользователь хотел нарисовать U, но не довёл дугу, из-за чего жест распознался как ←↓ (без движения вправо) - программа не должна по ошибке начать делать то, о чём пользователь не просил.

Как пользователь научится пользоваться жестами? Распечатает список жестов и каждый раз будет сверяться по нему? Нет - это говно!

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

То есть - жесты образуют иерархическое меню! Изначальное колесо - это меню первого уровня. Когда пользователь делает первое движение - открывается подменю. Делает второе - открывается следующее подменю. Последним движением выбирает нужный пункт, отпускает ПКМ - и действие совершается. Если забрёл не туда - можно сделать движение в обратную сторону и вернуться на один уровень вверх.

То есть - у нас получилось контекстное меню!

Не обязательно вообще все действия разносить на жесты - некоторые можно оставить и в классическом контекстном меню (которое говно). Пользователь зажимает ПКМ, выбирает нужный пункт, отпускает - действие выполняется. Или в классическом режиме - полный клик ПКМ, меню открывается, второй клик на пункте - действие.

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

Дополнительное дизайн-пространство - использовать клавиши-модификаторы. Например, на обычном ПКМ - одно меню, на шифт-ПКМ - другое, на ктрл-ПКМ - третье. Разделение по меню делать тематическое; например, в некоем браузере: обычное ПКМ достаёт меню для текущего элемента (копировать, открыть ссылку, сохранить картинку, показать в отладчике и т.д.), шифт-ПКМ - меню для вкладок (перейти влево/вправо, закрыть, дублировать, сохранить в закладки), ктрл-ПКМ - меню для навигации (назад, вперёд, обновить (как обычно и рекурсивно), домой, быстрые закладки - сколько юзер поставит).

Левую кнопку мыши тоже можно использовать как модификатор, зажимаешь только ПКМ - открывается одно меню, одновременно зажимаешь ЛКМ - меню переключается на альтернативное.

А драг-н-дроп с контекстным меню, кстати, можно сделать на обратную последовательность - начинаешь перетаскивать на левую, во время драга зажимаешь правую, отпускаешь левую - в пункте назначения появляется меню "переместить/копировать/ярлык/отмена".

#1
12:21, 25 июля 2022

Имбирная Ведьмочка
> Когда пользователь делает первое движение - открывается подменю.

Ты когда играл в Крайзис, у тебя всегда получалось в пылу боя попадать в нужные режимы костюма? В частности, я часто переключался между "стелс" и "броней" ("броня" лишь на короткий момент выстрела, т.к. выстрел в "стелсе" выжирает весь запас энергии) - и нередко попадал не в тот режим.

#2
12:28, 25 июля 2022

Имбирная Ведьмочка
>
> Я считаю, что вместо этого, можно использовать правую кнопку мыши для рисования
> жестов.
такое в опере есть и скорее в любом браузере

#3
12:30, 25 июля 2022

Предлагаю совместить с распознаванием голоса, чтоб помимо жеста надо было еще для подтверждения сказать "вингардио левиосо!"

#4
12:40, 25 июля 2022

Dmitry_Milk
> Ты когда играл в Крайзис, у тебя всегда получалось в пылу боя попадать в нужные
> режимы костюма?
А у тебя интернет-сёрфинг - это потная катка?

В шутерах я колёсами никогда не пользуюсь, только кнопки. У меня в анрилах даже специальная раскладка стояла, где оружие с 6 до 0 вместо цифр выбиралось на ZXCERT, в третьей инсталляции даже пришлось "сесть в тачку" переместить на V.

Задача нового меню - не ускорить ввод команд в условиях потных каток, а оптимизировать работу с обычным GUI - уменьшить пиксель-хантинг и количество нажатий на кнопки.

FlyOfFly
> такое в опере есть и скорее в любом браузере
Разве что в расширениях. Только что проверил искоробочных Фурри и Хромога - ничего подобного.

Что-то отдалённо похожее я видел в качестве радиального меню в Inventor, хотя не помню, чтобы его можно было использовать жестами.

#5
12:48, 25 июля 2022

Имбирная Ведьмочка
>
> Разве что в расширениях
В Опере без https://blogs.opera.com/russia/2015/02/zhesty-myshyu-v-brauzere-opera/

#6
12:54, 25 июля 2022

В меню удобно что ты нажал кнопку, и сидишь спокойно изучаешь список пунктов. Если ты пользуешься им не каждую минуту а изредка, то сходу не сообразишь где то что ты ищешь и есть ли оно там вообще.

А вот если нажал правую кнопку и держишь, то ситуация уже напряженная, отпускать кнопку нельзя (причем это не комфортный указательный палец а средний), двигать мышью нельзя, давай быстро принимай решение в какую сторону двигать.

#7
12:55, 25 июля 2022

Имбирная Ведьмочка
> А у тебя интернет-сёрфинг - это потная катка?

Либо я тебя не понял, либо ты меня. Где в интернет-серфинге выбор чего-либо направлением движения мыши? А в Крайзисе (в первом, по крайней мере) как раз было "контекстное меню" выбора режима костюма - нажимаешь кнопку - появляется круг с секторами, соответствующими режимам, дальнейшее направление движения мыши как раз выбирает сектор.

#8
12:56, 25 июля 2022

Дерьмище какое-то, вместо короткого движения вниз по меню и клика мышкой, нужно шарудить во все стороны и в случае выбора не того жеста еще нужно запомнить в какую сторону возвращать мышь для отмены.

#9
13:13, 25 июля 2022

nes
> в случае выбора не того жеста еще нужно запомнить в какую сторону возвращать
> мышь для отмены
Не нужно, GUI должен рисовать как уже пройденный путь, так и "зоны реагирования" на дальнейшие движения.

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

#10
13:18, 25 июля 2022

Имбирная Ведьмочка
Нужна демка, ибо нипанятна.

#11
13:22, 25 июля 2022

nes
> Нужна демка, ибо нипанятна.
Да вот тоже думаю. У меня как раз скоро отпуск - надо будеть засесть и запилить пруф-оф-концепт.

#12
13:37, 25 июля 2022

Имбирная Ведьмочка
> Можно сделать как с классическим - полный клик ПКМ открывает персистентное
> меню, движения всё так же регистрируются и открывают подменю, второй клик -
> активация.
Тогда ок.

Только круг этот непонятный убрать, лучше привычный список - удобнее когда много пунктов. Можно раскрывающиесй подсписки сделать для однотипных действий.

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

#13
13:44, 25 июля 2022

kipar
> Только круг этот непонятный убрать, лучше привычный список - удобнее когда
> много пунктов. Можно раскрывающиесй подсписки сделать для однотипных действи
Список плох тем, что там сложнее попадать в пункты - нужно следить не только за направлением движения мышки, но и за дистанцией. Перемахнул на десяток пикселов - и под курсором уже совсем другой пункт меню. Придётся включать тонкую моторику и корректировать по обратной связи. Пиксель-хантинг, короче, кринж и соя. А по моей системе - запомнив положение пункта (что произойдёт со временем автоматически), можно будет выбирать его хоть с закрытыми глазами.

#14
13:52, 25 июля 2022

Имбирная Ведьмочка
> Список плох тем, что там сложнее попадать в пункты - нужно следить не только за
> направлением движения мышки, но и за дистанцией.

Навык попадания мышкой в нужное место - это сродни езде на велосипеде. А вот к навыку выбора направлением движения мыши придется переучиваться.

Страницы: 1 2 3 4 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.