Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5

Экранный навигатор

01.07.2013, 22:12. Показов 3435. Ответов 54
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Это не заказ на платную разработку программы, а описание программы экранного помощника, как уникальной и оригинальной идеи для ускорения работы с компьютером. Илюстрация алгоритма её работы

Кликните здесь для просмотра всего текста


Программа находится в системном трее ОС, работает в фоновом режиме ни как себя не визуализируя. При нажатии сочетаний клавиш, скажем, Ctrl+Num7/8/4/5, в соответствии с каждой четвертью сектора, на который условно разделяется экран, происходит автоматическое попадание курсора мыши в геометрический центр данного сектора. Далее активный, уже суб-сектор, так же условно разделяется не четыре сектора, в центры которых можно переместить курсор экрана. Продолжая перемещать курсор можно поместить его в любое место экрана для активации интерактивной функции.

На иллюстрации изображен путь к ссылке Assembler для начинающих, на снятом скриншоте одной из страниц www.cyberforum.ru. При этом сочетание клавиш для перемещения курсора к ссылке, следущее: Ctrl+Num2 -> Ctrl+Num4 -> Ctrl+Num1. Для возврата на один уровень вверх по иерархии вложенности секторов можно назначить сочетание Ctrl+Num*.

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

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

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

Может кто-из программистов реализует идею?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2013, 22:12
Ответы с готовыми решениями:

DipTrace: экранный слой
Хочу развести плату в 2-х слоях, но чтобы нижний был экранным. При этом на него хочу замкнуть сеть ЗЕМЛЯ. Как это сделать, чтобы при...

Полно-экранный режим = input not supported
Доброго дня. Не откажите в помощи. Ситуация такая: Купил вчера новый комп и монитор (монитор Acer V206HQLBb), при запуске всё было...

Экранный буфер консоли, где я ошибаюсь?
Вот код: #include <windows.h> #include <iostream> using namespace std; HANDLE hStdin, hStdout,hNewScreenBuffer;//буфер экрана...

54
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
09.07.2013, 06:28
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от tolimadokara Посмотреть сообщение
Для этого разрешения достаточно 7 кликов.
В стандартном эмуляторе? Не смеши. Кликами крыса уедет максимум на 40 пикселей, а после удержаний надо исправлять опять кликами.

Добавлено через 3 минуты
Цитата Сообщение от tolimadokara Посмотреть сообщение
Нужно только выставить хорошую скорость движения курсора.
временем удержания кеи. А к следующему разу через год-пять попросту забыть это время и опять иметь кривую скорость.

Добавлено через 1 минуту
Цитата Сообщение от tolimadokara Посмотреть сообщение
Taras Atavin, крысофобия это профессионализм
Я тогда чайник что ли? А на первом курсе был профессионалом?
0
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
09.07.2013, 06:58
Можно сделать настройку, чтобы изменялось кол-во областей. (я б настроил себе 3x3, под цифры NumPad).
Еще если прикрутить фичу: бинд Hotkey - перемещение курсора в опр. точку(или сразу клик в ней), тогда ваще норм прога будет.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
09.07.2013, 11:35
Начал писать, но потерял интерес.
Может есть у кого желание - можете продолжить.
Исходник(на VB.net) и ЕХЕ прилагаю.

Пока программа работает так:
После запуска окно висит в левом верхнем углу.
После нажатия Ctrl "активируются" цифровые клавиши
Цифрами 1,2,3,4,6,7,8,9 курсор мыши устанавливается в нужную позицию ( Тут Ваша идея не воплощена - курсор просто перемещается, а не по квадратам)
После нажатия Spacebar происходит одиночный "клик" под курсором, цифровые клавиши "деактивируются"
Вложения
Тип файла: rar XY_Click.rar (14.7 Кб, 1 просмотров)
Тип файла: rar Перемещение курсора Исходник .rar (159.2 Кб, 1 просмотров)
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
09.07.2013, 15:07  [ТС]
Цитата Сообщение от Taras Atavin
В стандартном эмуляторе? Не смеши.
Тарас, что еще за эмулятор? На экране монитора нет кнопок размером 1x1 пиксел, самое маленькое это 16x16. Не обязательно чтобы курсор попадал точно в центр кнопки. Для активации функции хватит того чтобы курсор висел над кнопкой в любой точке.
Цитата Сообщение от tolimadokara
Нужно только выставить хорошую скорость движения курсора.
Для того чтобы эффективно пользоватся стандартной возможностю движения курсора с клавиатуры, которая заложена в винде, нужна высокая скорость его передвижения по экрану. А точность попаданий в кнопки, таким способом, прийдет с опытом.
Цитата Сообщение от Taras Atavin
Я тогда чайник что ли? А на первом курсе был профессионалом?
Крысу хорошо юзать дизайнерам для рисования графики.
Цитата Сообщение от MLPMan
Можно сделать настройку, чтобы изменялось кол-во областей.
Хорошая идея...
Цитата Сообщение от SoftIce
Начал писать, но потерял интерес.

Цитата Сообщение от SoftIce
Исходник(на VB.net) и ЕХЕ прилагаю.
Спасибо
0
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8536 / 3415 / 105
Регистрация: 24.05.2011
Сообщений: 14,649
Записей в блоге: 8
09.07.2013, 23:37
Цитата Сообщение от tolimadokara Посмотреть сообщение
... возможностю движения курсора с клавиатуры, которая заложена в винде, нужна высокая скорость его передвижения по экрану
В виндах, если меня не подводит склероз, в панели управления "Мыши и другие указывающие устройства", "скорость перемещения курсора" - настраиваемо.
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
10.07.2013, 00:01  [ТС]
NeoMatrix, речь идет о настройке скорости не мышь<->экран, а клавиатура<->экран.

В винде (XP) эта возможность включается Alt(левый)+Shift(левый)+NumLock
Кликните здесь для просмотра всего текста
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
10.07.2013, 21:18
Еще немного "поковырял"

Пока результат не впечатляет.
Миниатюры
Экранный навигатор  
Вложения
Тип файла: rar XY_Click.rar (16.0 Кб, 2 просмотров)
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
10.07.2013, 21:30  [ТС]
SoftIce, результат хороший... Если вам нравится эта идея можно выложить финальный экзешник для всех, будем тестировать. Можно и исходники выложить, для тех кто боится исполняемые файлы скачивать, чтоб потом собрать могли в соотв. компиллере.

Не обязательно отрисовывать красные линии и делать все так как в первом посте на картинке.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
10.07.2013, 21:45
Цитата Сообщение от tolimadokara Посмотреть сообщение
Не обязательно отрисовывать красные линии
Как я понимаю, они нужны для того, чтобы визуально ориентироваться - какую следующую цифру нажимать?
Просто старые линии нужно стирать.

Пока думаю - как рассчитать координаты очередного перемещения курсора
Завтра подумаю
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
10.07.2013, 23:37  [ТС]
Цитата Сообщение от SoftIce
Завтра подумаю
Вот набросок логики на php
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// Функция расчета координат курсора
 
// Аргументы:
// $sector номер сектора, 1, 2, 3 или 4
// $curr_depth индекс уровень вложенности
// $center_x и $center_y координаты центра текущего сектора
 
function pointerCoordsCalc($sector, $curr_depth, $center_x, $center_y) {
    $center_x = $curr_depth == 1 ? (int)($scr_w/2) : $center_x;
    $center_y = $curr_depth == 1 ? (int)($scr_h/2) : $center_y;
    
    // Размеры ячейки
    $rect_w = (int)($scr_w/($curr_depth/2));
    $rect_y = (int)($scr_y/($curr_depth/2));
    
    // Расчет соотв. сектору
    switch( $sector ) {
        case 1 :
            $pointer_x = (int)($center_x-$rect_w/2);
            $pointer_y = (int)($center_y-$rect_w/2);
            break;
        case 2 :
            $pointer_x = (int)($center_x+$rect_w/2);
            $pointer_y = (int)($center_y-$rect_w/2);
            break;
        case 3 :
            $pointer_x = (int)($center_x-$rect_w/2);
            $pointer_y = (int)($center_y+$rect_w/2);
            break;
        case 4 :
            $pointer_x = (int)($center_x+$rect_w/2);
            $pointer_y = (int)($center_y+$rect_w/2);
            break;
    }
    
    // Возвр. данные
    return array($sector, $pointer_x, $pointer_y);
}
 
// Начальные параметры
$curr_depth = 1 ;
$center_x = (int)($scr_w/2);
$center_y = (int)($scr_y/2);
 
 
// Обработка событий.
// Событие: на уровень вверх
if( $ACTION == 'UP_DEPTH' ) {
    // Декремент индекса уровня вложенности
    $curr_depth = $curr_depth == 1 ? 1 : $curr_depth - 1 ;
    // Массив-список array(номер сектора, x координата курсора, y координата курсора)
    $POINTER_DATA = $DEPTH[$curr_depth];
    
    // Переброс параметров
    $sector = $POINTER_DATA[0];
    $center_x = $POINTER_DATA[1];
    $center_y = $POINTER_DATA[2];
    
    // Установка коорд. курсора
    setup_pointer($center_x, $center_y);
    
// Событие: выбор сектора
} else if( $ACTION == 'TO_DEPTH' ) {
    // Инкремент индекса уровня вложенности
    $curr_depth++;
    
    // Расчет коорд. курсора
    $POINTER_DATA = pointerCoordsCalc($sector, $curr_depth, $center_x, $center_y);
    // Запись данных в массив уровней...
    $DEPTH[$curr_depth] = $POINTER_DATA;
    
    // Сохранение параметров
    $center_x = $POINTER_DATA[1];
    $center_y = $POINTER_DATA[2];
    
    // Установка коорд. курсора
    setup_pointer($center_x, $center_y);
}
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.07.2013, 00:17
Цитата Сообщение от tolimadokara Посмотреть сообщение
Вот набросок логики на php
Всё понял, забабахал

Исходник (очень сырой) прилагаю
Миниатюры
Экранный навигатор  
Вложения
Тип файла: rar Исходник.rar (173.9 Кб, 3 просмотров)
Тип файла: rar ЕХЕ.rar (16.1 Кб, 5 просмотров)
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
11.07.2013, 09:10  [ТС]
Скачал ваш экезешник - не плохо В исходниках не разобратся, я бы такое не написал. Будем ждать стабильную версию
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.07.2013, 09:33
Цитата Сообщение от tolimadokara Посмотреть сообщение
стабильную версию


"Причесал" код.
Убрал в трей.
Управление- Ctrl, 1, 2, 3, 4, Space, B
Вложения
Тип файла: rar ЕХЕ .rar (17.0 Кб, 5 просмотров)
Тип файла: rar Исходник .rar (180.8 Кб, 5 просмотров)
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
11.07.2013, 12:13  [ТС]
SoftIce, ты лучше когда свободное для творчества время будет, выложи все один раз, с коментами в коде и копирайтом, без глюков.

Что делает пробел и кнопка B? Еще, чтобы работать с такой программой должна быть комбинация клавиш для возврата назад, по истории перемещений в секторах. Для секторов, имхо, лучше приспособить доп. цифр. клав. (NumPad) кнопки 7, 8, 4, 5. Или для девяти секторов в блоке, если модернизировать программу, все девять цифр: 1, 2, 3; 4, 5, 6; 7, 8, 9;

Должна быть эмуляция кликов левой и правой кнопки мыши, с клавиатуры клавишами.

Не по теме:

Кину стрелу, может быть кто-то заинтересуется: Желает ли кто учавствовать в Open Source проекте схемотехнического САПР?. Тема моя.



Добавлено через 1 час 53 минуты
SoftIce, классная программа , спасибо, буду пользоватся! Я думал что она не работает. Буду надеятся что ты не заразил экзешник шпионом клавиатуры, не вводил ей сетевую сетевую активность либо другую *рень, т.к. антивирусом не пользуюсь.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
16.07.2013, 18:32
Цитата Сообщение от tolimadokara Посмотреть сообщение
Тарас, что еще за эмулятор? На экране монитора нет кнопок размером 1x1 пиксел, самое маленькое это 16x16.
Главных окон 1x1 тем более не бывает. Но попасть в окно стандартным эмулятором не всегда можно и за 16384 клика. А предлагаемым здесь можно даже на моём старом дисплее за 13 кликов попасть в пиксел, что гарантировано более, чем достаточно для попадания куда угодно, даже в границу окна для перехода в режим настойки его размера. И гарантировано можно даже отрегулировать этот размер тем же эмулятором с любой желаемой точностью. Тем более такая точность гарантировано более, чем достаточна для того, чтоб дать любую команду и выбрать что угодно. Не только кнопку, но и, например, линию векторного рисунка. Рисовать растр по такой методе всё таки будет не удобно, здесь нужно более естественное и лучше интуитивно понятное управление, а для выбора можно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2013, 18:32

как сохранить в базе экранный вид документа?
На стороне клиента страница asp формирует документ на основе информации из базы данных. Как сохранить вид этого документа на сервере, чтобы...

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

Адаптация элементов при раскрытии в полно экранный режим
Здравствуйте, прошу помочь или объяснить как сделать так чтобы при развёртывании в полноэкранный режим окна элементы по типу label, button...

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

Не удаётся включить полно-экранный режим в Premiere Pro 2017/не работает горячая клавиша Ctrl+ `ё` т.е. - тильда
т.е. она отображается в настройках, и записана например - F3 или с модификаторами без разницы, всё равно не работает. И в самой панели где...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
55
Ответ Создать тему
Новые блоги и статьи
Расчёт периметра прямоугольника по координатам вершин
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Вычислить периметр прямоугольника, заданного координатами своих вершин на плоскости. Решение: Создан документ со следующими. . .
Подсчёт частоты трёхбуквенных слов в тексте
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Выясните, сколько раз в предложенном тексте встречается каждое трехбуквенное слово. Решение: Создан документ с единственным. . .
Сумма и количество положительных элементов в чётных строках массива
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Вычислить сумму и количество положительных элементов массива, расположенных в четных строках. Решение: Создан документ с. . .
Поиск произведения положительных чётных чисел в последовательности
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Дана произвольная последовательность целых чисел. Найти произведение положительных четных чисел данной последовательности. . . .
Обработка трёх чисел: утроение и возведение в степень
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Даны три действительных числа. Утроить те из них, значения которых неотрицательны, и возвести в четвертую степень отрицательные. . . .
Расчёт стоимости яблок по весу
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Написать программу вычисления стоимости некоторого количества (по весу) яблок. Решение: Создан документ, с табличной частью. . .
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru