1 (изменено: Владимир, 2012-05-09 21:19:09)

Тема: AHK: поменять кнопки мыши при нажатой кнопки

Доброго времени суток.
Ребят помогите разобраться с проблемой:

~LButton::
If GetKeyState("z", "P")
    send {rbutton}
return

На компьютере работает, но только клики, а вот на планшете, с мультитач дисплеем, правый клик проходит каждый второй раз нажимания на дисплей(
, а нужно следующее: при зажатой кнопки z, полностью (даже если водить с нажатием лбатона) заменяется лбатон на рбатон, но если z отпустить то всё меняется обратно (лбатон = лбатон)
, и кстате кнопку z на планшете меняю на volume_up (качелька громкости)

Пытался сделать:

volume_up & lbutton::rbutton

Ругается на рбатон.
Сделал:

volume_up & lbutton::
    send {rbutton}
return

На компьютере всё хорошо.
На планшете всё равно происходил клик РОВНО ЧЕРЕЗ РАЗ(((

2

Re: AHK: поменять кнопки мыши при нажатой кнопки

#If DllCall("GetAsyncKeyState", "UInt", 0x5A, "UShort")>>15
LButton::RButton

3

Re: AHK: поменять кнопки мыши при нажатой кнопки

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

4 (изменено: Владимир, 2012-05-09 21:57:32)

Re: AHK: поменять кнопки мыши при нажатой кнопки

Grey пишет:
#If DllCall("GetAsyncKeyState", "UInt", 0x5A, "UShort")>>15
LButton::RButton

Можно ли с пояснениями?
Я узнал о существовании скриптов неделю назад и ещё не разбераюсь на столько)
Как я понял это функция библиотеки user32?
Как это включить?
При тупой попытке прописать в скрипт пишет "Error: This line does not contain a recognized action.".

5

Re: AHK: поменять кнопки мыши при нажатой кнопки

Следует использовать актуальную версию AHK — 1.1.07.03

6

Re: AHK: поменять кнопки мыши при нажатой кнопки

creature.ws пишет:

Следует использовать актуальную версию AHK — 1.1.07.03

Спс огромное!!! Поехало с клавишей z)
Осталось переделать на Volume_up)

7 (изменено: Владимир, 2012-05-09 22:55:39)

Re: AHK: поменять кнопки мыши при нажатой кнопки

Значит так я нашёл код volume_up это 0xAF отлично)
Вот только на планшете видимо глючит эта качелька, ибо как после того как я её нажму однажды клики(то левый клик то правый) начинают работать сами по себе неважно нажал я качельку или отпустил)
Не очень я обьясняю согласен)
Я уже весь мозг сломал)
Ладно я уже согласен на: нажал качель, лклик как рклик. Ещё раз качель, лклик как лклик)

8

Re: AHK: поменять кнопки мыши при нажатой кнопки

Владимир пишет:

Можно ли с пояснениями?

Проверяю старший бит возвращаемого значения, на предмет определения состояния клавиши (подробнее тут).

Владимир пишет:

Ладно я уже согласен на: нажал качель, лклик как рклик. Ещё раз качель, лклик как лклик)

Как-то так:

vkAF::TrayTip,, % "State is: O"((IsEnable:=!IsEnable) ? "n":"ff")

#If IsEnable
LButton::RButton

9 (изменено: Grey, 2012-08-12 23:11:53)

Re: AHK: поменять кнопки мыши при нажатой кнопки

Или так:

vkAF::
   DllCall("SystemParametersInfo"(A_IsUnicode ? "W":"A")
                                 , "UInt", 0x21 ; SPI_SETMOUSEBUTTONSWAP
                                 , "UInt", (IsEnable:=!IsEnable)
                                 , "Ptr", 0
                                 , "UInt", 0)
   TrayTip,, % (IsEnable ? "S":"Not s")"wapped"
   Return

10

Re: AHK: поменять кнопки мыши при нажатой кнопки

Gray работают оба спс) но только с мышкой)
Проблема видимо не в vkAF а в передаче экранного тапа на управление мышкой.
Видимо совсем не одинаковый клик мышкой и тап по экрану.
И кстате клик мышкой в винде это неподвижная стрелка, а тап по экрану это крестик в центре тапа и волны вокруг крестика, причём анимация около полсекунды)

11 (изменено: Владимир, 2012-05-10 02:42:35)

Re: AHK: поменять кнопки мыши при нажатой кнопки

Спс Gray ещё раз! Проблема тупо в переводе сенсора на мышь)
Ничего походу не получиться, потому как просто надпись Lbutton::Rbutton работает неправильно)