Перейти к содержанию

Колесико мыши LUA


Vlad2

Рекомендуемые сообщения

Всем привет! :-D Поздравляю всех защитников и всех бушующих защитников с праздников! :)

В общем, у меня проблема...

Не могу сделать отслеживание прокрутки колесика на мыши.

Хотелось бы что-то на подобие isKeyPressed() сделать.

Например когда колесико назад крутишь, то в переменную записывалось число 2, вперед 1, а нечего не крутишь 0.

Помогите реализовать такую штуку.

Ссылка на комментарий
Поделиться на другие сайты

На CE Lua, скорее всего, не поддерживается, я не увидел.

Обычно горячие клавиши можно ставить так на CE Lua:


function OnCheckHotKey()
print('test')
end
createHotkey(OnCheckHotKey, [VK_., VK...])

Но нет ни одного кей кода в defines.lua, который был бы связан с поворотом колеса мыши.

Готового решения нет.

Обходные пути

Путь1. Изменить исходники CE и перекопилировать

Путь2. Патч CE на основе пути1

Путь3. Инжект в прцоесс игры на чтение данных ввода:

На С++, MSDN(WM_MOUSEWHEEL message)



POINT mouse;
while (GetMessage (&msg, NULL, 0, 0) > 0)
{
//Any other message.
if (msg.message != WM_MOUSEWHEEL)
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
//Send the message to the window over which the mouse is hovering.
else
{
GetCursorPos (&mouse);
msg.hwnd = WindowFromPoint (mouse);
TranslateMessage (&msg);
DispatchMessage (&msg);
}
}

Можно попробовать через generateAPIHookScript (пример работы) перехватив GetMessage() в процессе игры.

В случае с чтением от DirectInput искать примеры "DirectInput mouse whell".

Путь4. Написать Дарк Байту просьбу включить кеи колеса мыши

----------

В общем как простое решение советую поставить кей на клавиши "плюс" и "минус" вместо колеса мыши.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.