Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  1 2 3 > »   
Ответить в эту темуОткрыть новую тему
> CapsLock On, Проверка статуса нажатия/включения
Levo222
сообщение 26.2.2019, 0:55
Сообщение #1


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Задача сделать клавишу автобега в игре где её нет. Проверка включены ли статусные клавиши и автонажатие клавиш движения
Скрипт определения включенности Caps Lock
X2t
У кого-то может работать send217_down/send_down, у меня работает только sendex_down/up, ввиду несостыковки системы с Lua

Код

--lua
do
local back = package.path
package.path = "luaPlugins\\winapi\\?.lua;"..package.path
setfenv(1, require'winapi')
require[[winapi.keyboard]]
package.path = back
end

-- Поолучаем состояние клавиши:
-- state - нажата/отжата
-- toggle - для лампочек горит/не горит.
local pressed_down = false
while 1 do
    local state, toggle = GetKeyState(0x14)
    log(tostring(state),tostring(toggle))
    if  toggle then   -- горит капс
        log("CapsLock on")
        if  not pressed_down then
            log("not pressed_down")
            log("Зажимаю W")
            log("Ждём 3 сек")
            --send217_down ("w")
            sendex_down ("w")
            pressed_down = true
        end
        else
            if  pressed_down then
                --send217_up ("w")
                sendex_up ("w")
                pressed_down = false
            end
    end
wait (100)
end





-- РЕШЕНО --



Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 1:26
Сообщение #2


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
Что-то типо? Как будет работать?
Нужно подключить уже готовую библиотеку по обработке клавиатуры. Я не тестировал, но вроде там всё это есть. Ну и определиться, если переходим на lua - давайте учиться. Синтаксис отличается, хоть и не принципиально, но отличается. Если lua - придётся забыть про goto, ну и так, по мелочи ...


https://forum.uokit.com/index.php?showtopic=68111
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 26.2.2019, 1:44
Сообщение #3


***********

Модератор UOPilot
Сообщений: 9.465
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27680
Пользователь №: 11.279



Есть хорошая новость - я научился из луа дергать состояние клавиш и капса в том числе:
Код
do
    -- У меня пути не стандартные, чтобы избежать свинарника.
    -- Поэтому тут есть пара "лишних" строк.
    -- Сохраняем _текущие_ пути по которым ищутся модули.
    local back = package.path
    -- Дописываю путь по которому у меня лежат модули.
    package.path = "luaPlugins\\winapi\\?.lua;"..package.path
    -- Подгружаем собственно модуль.
    -- Хз почему, но грузить нужно именно так.
    -- Просто require'winapi' не пашет.
    setfenv(1, require'winapi')
    -- Подгружаем кусок отвечающий за клавиатуру
    require[[winapi.keyboard]]
    -- Возвращаем пути поиска модулей на исходные.
    package.path = back
end

-- Поолучаем состояние клавиши:
-- state - нажата/отжата
-- toggle - для лампочек горит/не горит.
local state, toggle = GetKeyState(0x14)
log(tostring(state),tostring(toggle))

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

If the low-order bit is 1, the key is toggled. A key, such as the CAPS LOCK key, is toggled if it is turned on. The key is off and untoggled if the low-order bit is 0. A toggle key's indicator light (if any) on the keyboard will be on when the key is toggled, and off when the key is untoggled.
Оригинальненько, учитывая, что возвращается true/false... Ну и битовые операторы подтягивать тоже забавно =\


Отбой панике - возвращается вторым параметром. Код поправил. Тебя интересует в данном случае toggle.

Дерагать либы отсюда:
https://luapower.com/winapi/download
https://luapower.com/glue/download
Вторая необходима для работы winapi. Будь внимателен с адресами. У меня все это дело лежит по адресу luaPlugins\winapi, что явным образом указывается при подргузке либы (потом адреса поиска возвращаются в исходное состояние).

Сообщение отредактировал DarkMaster - 26.2.2019, 2:00


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 1:45
Сообщение #4


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
Есть хорошая новость - я научился из луа дергать состояние клавиш и капса в том числе:
ВО! Ваще ничего не понял, но прогресс очевиден. Я вообще в этом плане лет на 30 отстал. Не знаю как сейчас, раньше в Паскале я просто читал память по конкретным адресам, в которых отражалось состояние управляющих клавиш. Что-то мне подсказывает, что ничего умнее наверное не придумали. Нынешние подходы к программированию: "Бери больше - кидай дальше"!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 26.2.2019, 1:53
Сообщение #5


***********

Модератор UOPilot
Сообщений: 9.465
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27680
Пользователь №: 11.279



Либы написаны на чистом lua с использованием fii.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 1:57
Сообщение #6


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
Либы написаны на чистом lua с использованием fii.

Браво, Дарк! Мастер! Интересно, думаю, кроме Сайруса, никто ничего не понял ... будем учиться ... если мозгов хватит.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2019, 1:58
Сообщение #7


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Цитата
print

Изменить на log кто не догадается сам.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 2:01
Сообщение #8


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
Изменить на log кто не догадается сам.
Угадал, только Сайрус!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 26.2.2019, 2:02
Сообщение #9


***********

Модератор UOPilot
Сообщений: 9.465
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27680
Пользователь №: 11.279



Цитата

Изменить на log кто не догадается сам.

Да я запарился уже их туда-сюда писать, поэтому у меня в шапке пилота всегда объявлено:
local print = log (IMG:style_emoticons/default/biggrin.gif)

Поправил, добавил комментов.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 2:05
Сообщение #10


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
-- Хз почему, но грузить нужно именно так.
Вот эта фраза мне нравится больше всего. Хз, ткнул - получилось. Почему? Хз ... (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 26.2.2019, 2:12
Сообщение #11


***********

Модератор UOPilot
Сообщений: 9.465
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27680
Пользователь №: 11.279



Цитата
Вот эта фраза мне нравится больше всего. Хз, ткнул - получилось. Почему? Хз ...

Взял из демки в доках к либе. Распутывать всю либу, как и на что он завязал не буду точно =)


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 2:42
Сообщение #12


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
Взял из демки в доках к либе. Распутывать всю либу, как и на что он завязал не буду точно =)
В этом и заключается профессионализм. Знаешь где взять, знаешь как применить. Собственно так нас и учили, только я плохо учился, прогуливал ...


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

Куча хлама, тащится за первопроходцами, сохраняется совместимость. Каждый норовит создать СВОЁ (очередной хлам). Давно пора перейти на полноценные 64 бита и выбросить весь остальной хлам. Хотя я бы наверное сразу бы перешёл на 512 бит, по крайней мере предусмотрел это.

Я видел, как это развивалось. Сначала 8 бит, потом 16, потом псевдо 20 бит (сегмент и смещение) ... И что? остановилось? Может мы лет через 100 (а может и через 15) будем мерять расстояние до Солнца в ангстремах. В каких битах это будем измерять? Ну я уже буду ТАМ и смотреть как вы будете решать эти вопросы.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 3:14
Сообщение #13


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Оверлеи, кэши, хеши. Что-то уже история, что-то предстоит пересмотреть. Уверен, скоро не будет проблем с памятью, всё дешевеет при переходе на массовое потребление. Нужны универсальные, простые и доступные инструменты. А нам ещё до сих пор продают дефрагментаторы, RAM-диски, антивирусы и прочий хлам. Хотя давно существуют простые решения данных проблем. Нет нормальной преемственности в среде программирования и здесь теперь расслоение на бедных и богатых. Есть супер-технологии, но они только для избранных. С одной стороны есть уже умные роботы, а c другой стороны мы всё думаем как распознать CapsLock.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 26.2.2019, 4:01
Сообщение #14


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(sutra @ 26.2.2019, 3:14) *

Оверлеи, кэши, хеши. Что-то уже история, что-то предстоит пересмотреть. Уверен, скоро не будет проблем с памятью, всё дешевеет при переходе на массовое потребление. Нужны универсальные, простые и доступные инструменты. А нам ещё до сих пор продают дефрагментаторы, RAM-диски, антивирусы и прочий хлам. Хотя давно существуют простые решения данных проблем. Нет нормальной преемственности в среде программирования и здесь теперь расслоение на бедных и богатых. Есть супер-технологии, но они только для избранных. С одной стороны есть уже умные роботы, а c другой стороны мы всё думаем как распознать CapsLock.


Всё дело в том, что умному роботу не нужно распознавать CapsLock =)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 4:06
Сообщение #15


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
Всё дело в том, что умному роботу не нужно распознавать CapsLock =)

Абсолютно логично, он же умный, а я ... не очень, но кнопку у робота наверное найду, хотя Урри не смог найти (из "Приключения электроника").
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 26.2.2019, 4:13
Сообщение #16


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(sutra @ 26.2.2019, 4:06) *

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

Про электроника мог бы и не уточнять (IMG:style_emoticons/default/wink.gif)
На самом деле это какой-то коллапс реалий. Действительно, частенько бывает, какие-то сложнейшие задачи решаешь быстро, четко, без проблем идет. А затем нужно решить какую-то тупейшую и казалось бы простейшую задачу из серии капслока и бьешься днями над ней. Это ужасно.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 26.2.2019, 7:05
Сообщение #17


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(sutra @ 26.2.2019, 5:26) *

Нужно подключить уже готовую библиотеку по обработке клавиатуры. Я не тестировал, но вроде там всё это есть. Ну и определиться, если переходим на lua - давайте учиться. Синтаксис отличается, хоть и не принципиально, но отличается. Если lua - придётся забыть про goto, ну и так, по мелочи ...
https://forum.uokit.com/index.php?showtopic=68111

Так у меня 2 вопроса:
1. Плагины оба загружать? И не будет ли конфликта если кинуть всё в 1 папку?
2. С какой версии будет работать всё вышеперечисленное без косяков? у меня 2.39

Цитата(xolost @ 26.2.2019, 8:01) *

Всё дело в том, что умному роботу не нужно распознавать CapsLock =)

Будущее за голосовым движком. findVoice Т.е. управление командами речи
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 26.2.2019, 7:17
Сообщение #18


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(DarkMaster @ 26.2.2019, 5:44) *

по адресу luaPlugins\winapi

Кириллица не пойдёт?

Цитата(cirus @ 31.5.2017, 19:07) *

Автор плагина Cockney.
KB.zip
Кидать(распаковать) в папку Plugins, которая рядом с пилот должна быть создана.

-----

Так как будет выглядеть целиком скрипт?
Код
--Lua
require("Kbd")
local print = log
do
local back = package.path
package.path = "luaPlugins\\winapi\\?.lua;"..package.path
setfenv(1, require'winapi')
require[[winapi.keyboard]]
package.path = back
end
-- state - нажата/отжата
-- toggle - для лампочек горит/не горит.
local state, toggle = GetKeyState(0x14)
log(tostring(state),tostring(toggle))

while 1 do    
    if Toggle = 1 then
        Send217_down W
        log("CapsLock On")
        
end_while


Что-то не работает
(IMG:https://i.ibb.co/Jvgy3v2/12.jpg)


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.2.2019, 11:15
Сообщение #19


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Цитата
2. С какой версии будет работать всё вышеперечисленное без косяков? у меня 2.39

2.41.
Цитата
Так как будет выглядеть целиком скрипт?

Нет. Он должен быть как в примере и на языке луа, а не пилота.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 26.2.2019, 11:23
Сообщение #20


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(cirus @ 26.2.2019, 15:15) *

2.41.


Прикрепленное изображение Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

4 страниц V  1 2 3 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 20.4.2024, 1:27
Designed by Nickostyle