#0
by Ksandr
Подскажите, кто знает, какое количество одновременно нажатых клавиш можно обрабатывать программой на языках в сабже?
#4
by Ksandr
Навеяно пятницей: Когда-то, еще во времена DOSа ходила издевательская игрушка по сетям. Там поначалу мелькали девочки в завлекательных позах (усыпляли внимание). Потом, маленько поблуждав, наконец-то игрок натыкался на готовую разоблачиться девочку. Для снятия предмета одежды нужно нажать кнопочку. Для следующего - еще одну, не отпуская первую. И т.д. Где-то между правым чулком и юбочкой игроку не хватает пальцев, он отпускает кнопки, продумывает рациональный расклад пальцев и начинает снова.... В конце концов, когда торжественно нажимается десятая кнопка и все пальцы намертво прикованы к клавиатуре, вместо долгожданной обнаженной натуры появляется надпись: "Если хоть одна клавиша будет отпущена, начнется форматирование диска С". Так это или нет - никому проверять не хотелось, поэтому коллизии возникали весьма забавные: от простого нажимания Reset носом до воплей благим матом в опустевшем ночном здании пока заспанный вахтер не приходил и не спасал несчастного, выдернув указанную вилку из розетки. Если это реально - хочу подобное написать
#6
by Fragster
зависит от клавиатуры... у меня на разных было от 4-х всего до 20 но в разных частях клавиатуры
#7
by skunk
судя по постоновке вопроса данное тебе не реализовать... вообщето у клавиатуры для кнопок два события ... нажатие и отпускание
#10
by Ksandr
Жаль. Я не хотел писать вредоносную программу - исключительно в развлекательных целях))
#11
by Fragster
сам ты фигню. реально от железяки зависит... не раз проверено в глубоком еще детстве, когда всякие танчико-змейки писались
#12
by Мутабор
Ну как бы из винды ты отформатировать ц не сможешь - поробуй хоть прям щас Прошли те времена когда по портам ввода вывода работали, щас виндовые события....
#13
by Fragster
+ начинаешь нажимать и удерживать кнопки на клаве, q, w ,e , а нажатие r уже не на всех клавах обрабатывалась
#15
by skunk
ну может из-за того что в детстве проверял и тебе просто из-за возраста не хватило понять причину ... пофих сколько кнопок нажато ... каждый раз при нажатие, отпускании на порт 60h валиться скан кнопки... и пофих сколько их нажато... не надо открывать америку заново
#16
by Evg-lylyk
можно сделать через DirectImput можно сделать , господи что вы зациклились на событиях я же говорю остались стредства для людей в DirectImput можно сделать правдо о количестве клавиш не знаю
#20
by Evg-lylyk
DirectImput не язык, а программный интерфейс (библиотека функций). Используйте хоть Си хоть асм
#23
by Evg-lylyk
для сабжа только он подойдет как раз используя другие средства (ну еще порты можно, но зачем в DX удобнее) ждет неудача ;)
#24
by Fragster
директикс удобнее??? с портами - прога на один экран кода и под любую ОС, а с директинпутом - на три и тока под винду... зачем это? если б там обработка джойстиков и рулей различных была б - я бы понял, зачем тебе там «прямой ввод» от мелкософта, но нажатие кнопок - это как забивать гвозди 15тонным прессом
#27
by Evg-lylyk
Удобнее в использовании... DI очень примитивен это как бы то что ты напишешь через 30 минут работы с портами для своего же удобства... про мультиплатформенность не смешите... В DI будет удобнее отслеживать множественное нажатие клавиш. "это как забивать гвозди 15тонным прессом" не согласен, что знаешь то и используешь... по мне через порты большее извращение (т.к. плохой тон) DI, порты какая разница сделать можно и от клавы не зависит... вообщем есть средства, а для баловства любое сойдет судя по наверно любое
#28
by Boroda
На мышку есть события нажат - отжат. Если есть такое же на клавиатуру, то можно определить количество нажатых = кол.нажат - кол.отжат
#29
by Salvador Limones
Дык сколько угодно! И DirectInput тут не нужен. Получаем в массив с помощью GetKeyboardState, потом бежим по массиву и смотрим, какие клавиши включены.
#30
by Said_We
Размером буфера определяется. Все Скан коды нажатых и отжатых клавиш попадают туда. У некоторых клавиш скен код состоит из нескольких байтов. Какова размерность этого буфера уже не скажу и как с ним работать уже не помню, а приходилось - давно правда это было. Все динамические игры как правило перепрограммируют клаву, что бы быстрее реагировать на действия геймера.
#31
by skunk
тебе будет достаточно просто самому ловить моменты нажатия и отпускания клавиш... и буферезировать самому...
#32
by Said_We
Это надо , а не мне. :-) Если перехватить прерывание и свой буфер организовать, то да.
#33
by Said_We
Когда я еще был студентом, то у нас в компьютерных кабинетах были инженеры злые и не давали кислороду. Каждому студенту было выделено всего 5 метров на всё про всё. Хотя по тем временам не так уж и мало. Но в определенный момент на диске не стало хватать место, хотя у каждого было далеко до 5-ти метров. Просто эти же инженеры залили игрушек и всякой мути на винт и место кончилось. Пришлось заняться шпионажем. посидели подумали и придумали. Нарисовали шпиона который всё нажимаемое на клаве после загрузки в файлик записывает тихонько. Навесили шпиона на несколько машин и стали ждать пока инженер будет под своими админскими правами заходить. И вот в один прекрасный момент (очень скоро) это случилось. После этого зашли и грохнули ко всем чертям игрушки и всякую муть, почистили лог кто куда и когда заходил. :-) На следующий день у инженеров был траур. :-) А у нас счастье. Инженеры на какой-то сбой стали грешить, так как вроде как никто ни чего не удалял и в логах нету. Типа новел глюкнул. Ага ага... И выборочно грохнул только развликуху, какая класная операционка! :-) На 1 апреля хотели повесить на входе список админов и преподавателей и пароли :-) Но не стали. Мало ли зачем ещё пригодится. :-)
#36
by Said_We
"bScan (Byte) - аппаратный скан-код" - если только один байт, то не все клавиши можно определить. Скан код клавиши может содержать несколько байт. На стандарной клавиатуре от одного до пяти по моему. Правый и левый Shift Ctrl ит.д. отличаются как раз тем что у одно из них есть еще код по моему Е0h. Да и вообще это частый префикс.
#37
by Feanor
Времена ДОСа безвозвратно ушли. Если вин апи будешь использовать, то нахрена на асме извращаться? понт?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Access и 1С v.8
- Ошибка HASP not found (-10) , с чем связана ?
- 1С Рарус, Управление пассажирскими перевозками и такси 3.0.х
- Отчет - Регистр учета прямых расходов на производство
- печатная форма НМА-1 для УПП
- Обмен УТ - БП, проблемы с авансовыми отчетами
- Штрих-М кассир загрузка товара с разной ценой.
- Проблема при запуске Explorer из 1С
- Удаление нелицензионной 1С
- Несколько группировок колонок в табличном документе
- Вентилятор с тремя проводами
- 1С 8 КАК находясь в одной форме ИЗМЕНИТЬ цвет в другой
- выбор из списка выбора первой табличной части в документе
- как сравнить объединить конфигурацию с удалением объектов
- Слетело Регламентное задание
- 1с 8.2 + апач 2.2. Настройка
- Не списывается себестоимость на счёт 90.02.1
- Неоперативное проведение документа ПКО
- v8: проект конфигурации с открытым исходным кодом
- OpenOffice.Calc из 1С. Как вставить гиперссылку?