Популярный пост GranDoxin Опубликовано 13 марта, 2016 Популярный пост Поделиться Опубликовано 13 марта, 2016 Совместно с Игорем (Ice) делаем полезные аппсы для АС. Я рисую, Игорь на питоне программирует. В перспективе будет целый набор полезных приложений. Одно из них - многофункциональный монитор. На него выводится информация о шинах, состоянии автомобиля и ряд других данных. Все это невозможно уместить на одном экране, да и в разных ситуациях нужна разная информация.. по этому у дисплея будет несколько режимов работы. Сейчас они переключаются нажатием мышкой на кнопки (кликабельный кокпит -) ). Решение временное, так как неудобное - в гонке мышкой кнопки на экране выцеливать занятие для трехруких людей... Правильное решение - назначить кнопки руля на переключение режимов дисплея. Для этого необходимо опрашивать кнопки игровых устройств и\или клавиатуры. Питон не позволяет этого сделать. Нужна помощь программиста С++. Ну как помощь.. надо просто, что бы он написал нам небольшую программку. И все :D Программка должна уметь опрашивать состояние кнопок, и при его изменении, для кнопок обозначенных в текстовом конфиг файле менять значение переменной, которую будет читать аппс. То есть мы нажимаем назначенную кнопку игрового устройства или клавиатуры, программка меняет значение переменной, аппс согласно этому изменению переключает режим дисплея. В общих чертах вот такая задача. Есть специалист готовый помочь? 5 Ссылка на комментарий
AvedisZildjian Опубликовано 13 марта, 2016 Поделиться Опубликовано 13 марта, 2016 Как осуществляется связь между аппсом на питоне и демоном? Как предполагается стартовать демона? Ссылка на комментарий
GranDoxin Опубликовано 13 марта, 2016 Автор Поделиться Опубликовано 13 марта, 2016 Я предлагаю связь через текстовый файл. Во всяком случае аппс может читать из файла информацию. В файле допустим будет прописана строка display mode = 1 quantity - 4 где 1 - режим дисплея. 4 - количество этих режимов При нажатии кнопки "+" программка меняет значение на +1. то есть было 1, стало 2. переключая режимы. Достигнув последней цифры (4 в этом примере) снова 1 и так по кругу. Кнопка "-" в обратную сторону крутит. Второй вариант - назначение кнопок на выбор конкретного режима. Типа Button1 = mode3... То есть нажали на игровом устройстве кнопку 1, в файле прописался режим 3 Назначение кнопок в отдельном конфиг файле. Возможно это не лучшее решение. Может в какой то буфер обмена в памяти правильнее информацию слать... Я не программист, это лучше с Игорем обсудить. Что касается старта - опять же вы как программисты лучше друг друга поймете. В моем представлении это должна быть резидентная программа, которая помещается в автозапуск винды, в состоянии покоя никак себя не проявляет, работать начинает при начале работы АППС. Или (если такое возможно) стартует вместе с корсой. Короче тут варианты могут быть. Ссылка на комментарий
druxxa Опубликовано 13 марта, 2016 Поделиться Опубликовано 13 марта, 2016 Помочь ничем не могу но поддерживаю Вас в вашем деле :good: 1 Ссылка на комментарий
MAUZERIS_LT Опубликовано 13 марта, 2016 Поделиться Опубликовано 13 марта, 2016 А програмка AutoHotKey не может помочь? Вот тут для аппса ПитКонфиг замутили клавиши: http://www.assettocorsa.net/forum/index.php?threads/pitconfig.28683/page-6#post-647401 1 Ссылка на комментарий
GranDoxin Опубликовано 13 марта, 2016 Автор Поделиться Опубликовано 13 марта, 2016 Спасибо, надо подождать Игоря. Нарисовалось несколько возможных вариантов решения задачи. Ссылка на комментарий
-=Ice=- Опубликовано 14 марта, 2016 Поделиться Опубликовано 14 марта, 2016 Как осуществляется связь между аппсом на питоне и демоном? Как предполагается стартовать демона? Ну собсно была идея такая. Запущен некий процесс, который сидит в бекграунде и ловит любые нажатия кнопок клавиатуры (а по возможности и кнопки руля). Далее он просто создаёт обычный текстовый файл и пишет туда... ммм, ну наверное лучше не код символа, а лучше просто сам символ. Если это функциональная клавиша - то наверн лучше прям так и писать в файл "shift" или "alt". Соответственно в файле всё время перезаписывается старое значение, при каждом нажатии. Это всё :) Дальше я в своём аппсе ставлю таймер, и скажем, с частотой 3-4Гц читаю его и после прочтения записываю туда какой-нить null. Как-то так. А програмка AutoHotKey Я не оч понял что она из себя представляет... это какое-то дополнение к питону или отдельная программа? Где скачать?)) Ссылка на комментарий
MAUZERIS_LT Опубликовано 14 марта, 2016 Поделиться Опубликовано 14 марта, 2016 (изменено) Я не оч понял что она из себя представляет... это какое-то дополнение к питону или отдельная программа? Где скачать?)) Отдельная программа это. https://autohotkey.com/ https://ru.wikipedia.org/wiki/AutoHotkey ;) Изменено 14 марта, 2016 пользователем VeTeR Ссылка на комментарий
-=Ice=- Опубликовано 14 марта, 2016 Поделиться Опубликовано 14 марта, 2016 Отдельная программа это. https://autohotkey.com/ https://ru.wikipedia...wiki/AutoHotkey ;) Ок, спс, надо курнуть)) Чот на первый взгляд именно для нашего даша она не очень годится... ведь надо не эмитировать нажатия клавиш, а перехватывать их) Ну я покурю дома подробнее. А вот сделать виртуальный джойстик и напрограммить читерскую ось торможения выглядит более реально :D Хотя хз... в ЛФС я точно знаю можно сразу много джойстиков использовать при управлении, в Корсе это вопрос. Ссылка на комментарий
MAUZERIS_LT Опубликовано 14 марта, 2016 Поделиться Опубликовано 14 марта, 2016 Так она и перехватывает тоже. Как только в корсе сделали питстопы, demonized, запилил с помощью этой праграммки самый первый аппс для питстопов. Ссылка на комментарий
-=Ice=- Опубликовано 14 марта, 2016 Поделиться Опубликовано 14 марта, 2016 Так она и перехватывает тоже. Ну да, логично, как можно что-то эмитировать предварительно не перехватив)) Лан, вечером курить это всё дело, вечером... 1 Ссылка на комментарий
AvedisZildjian Опубликовано 14 марта, 2016 Поделиться Опубликовано 14 марта, 2016 Ты можешь биндить сочетания и последовательности нажатий на отдельные клавиши. Но я не вижу, как это поможет в этой задаче :) Ссылка на комментарий
-=Ice=- Опубликовано 15 марта, 2016 Поделиться Опубликовано 15 марта, 2016 Збс, раскурил ща немного AutoHotkey, получилось реализовать намеченную схему. Работает, но это конеш метод достаточно медленный и через двойную задницу)) Хотя ничего лучше на ум не приходит в данной ситуации... Теперь надо разобраться, есть ли возможность как-то быстро из моего аппса запускать команды и фукнции в хоткее. Если да, то я напишу такие читы, что меня зобанят на всех серваках мира :D Ссылка на комментарий
MAUZERIS_LT Опубликовано 15 марта, 2016 Поделиться Опубликовано 15 марта, 2016 Может тут ещё найдёшь чего полезного: http://forum.ru-board.com/topic.cgi?forum=5&topic=16053&start=920#lt Ссылка на комментарий
-=Ice=- Опубликовано 15 марта, 2016 Поделиться Опубликовано 15 марта, 2016 Пасип, но вроде гугла и офф хелпа пока хватает с лихвой! Ссылка на комментарий
UnrealQW Опубликовано 16 марта, 2016 Поделиться Опубликовано 16 марта, 2016 Я постоянно пользуюсь Автохоткеем (включаю/отключаю динамик и микрофон с кнопок). Там есть свои особенности: требование режима администратора, различные режимы перехвата кнопок в зависимости от ОС, может не сработать если есть другие перехватчики горячих клавиш (OpenOffice, foobar2000). А так вещь читерская -- особенно крутой эффект я получал в игре Magica, где нужны сложные комбо-удары. Можно и поворот руля/джойстика/мыши эмитировать. Ссылка на комментарий
-=Ice=- Опубликовано 17 марта, 2016 Поделиться Опубликовано 17 марта, 2016 (изменено) Ребза, кто знает, помогите плиз с хоткеем. Поставил vJoy, создал там джойстик, всё вроде работает, джойстик в системе есть. Подцепил эту библу - https://autohotkey.c...e-3#entry566869 , вроде встала норм Отправляю запрос DllCall("vJoyInterface\SetBtn", "Int", 1, "UInt", 1, "UChar", 5) , типа пытаюсь сэмулировать нажатие кнопки - ничего не получается, пишет что девайс не готов. Как жить?) Изменено 17 марта, 2016 пользователем -=Ice=- Ссылка на комментарий
sqrt Опубликовано 17 марта, 2016 Поделиться Опубликовано 17 марта, 2016 Питон не позволяет этого сделать. эээ это как? как минимум с клавы считать уж точно можно. Одна из линок в гугле по запросу python read gamepad http://www.pygame.org/docs/ref/joystick.html Ссылка на комментарий
-=Ice=- Опубликовано 17 марта, 2016 Поделиться Опубликовано 17 марта, 2016 как минимум с клавы считать уж точно можно Ну эт наверное в питоне можно, в аппсе для Корсы как-то не получается) msvcrt.getch() не работает, msvcrt.kbhit() выдаёт false. Пробовал запустить отдельный тред (как я себе делал для телеметрии), но тред сразу жрёт много ресурсов и всё равно что-то ничего там не работает... ну или у меня не получилось. pygame не стандартная библа же, как ты её импортить в корсовский апп предлагаешь? Ссылка на комментарий
Moutant Опубликовано 17 марта, 2016 Поделиться Опубликовано 17 марта, 2016 Айс как вирус. Надеюсь ни хрена не получится у него) Ссылка на комментарий
-=Ice=- Опубликовано 17 марта, 2016 Поделиться Опубликовано 17 марта, 2016 (изменено) Айс как вирус. Надеюсь ни хрена не получится у него) Хрен тебе, у меня есть прогресс)) Вощем была проблема, G25 свалился в лок на 180 градусов... нашёл такую штуку, прям кнопками на руле можно угол лока менять, збс тема! https://www.gtplanet...s-guide.286646/ Изменено 17 марта, 2016 пользователем -=Ice=- Ссылка на комментарий
-=Ice=- Опубликовано 20 марта, 2016 Поделиться Опубликовано 20 марта, 2016 Слуште, парни, а кто-нить курил вообще API логитековских рулей?.. У них тут в C:\Program Files\Logitech\Gaming Software куча dll'ек, можно кто знает какую подцепить и какой функцией можно получить текущие значения всех осей и кнопок?.. Ссылка на комментарий
Рекомендуемые сообщения