Наконец-то закончил оболочку.
Делюсь, опять же.
Настройки сохраняются в реестре, путь сохранения в переменной "Settingspath".
#if
#SingleInstance,Force
AutoTrim,Off
CoordMode,Mouse,Screen
CoordMode,ToolTip
CoordMode,Pixel
Menu,Tray,UseErrorLevel
process,priority,,high
;SendMode,input
SetBatchLines,-1
SetControlDelay,0
SetKeyDelay,0
SetTitleMatchMode,2
SetWinDelay,20
SetWorkingDir,%A_ScriptDir%
StringCaseSense,On
DetectHiddenWindows,On
key:={"":"Нет","vk01":"LButton","vk02":"RButton","vk04":"MButton","vk05":"X1Button","vk06":"X2Button","vk08":"BS","vk09":"TAB","vk0D":"Enter","vk10":"Shift","vk11":"Ctrl","vk12":"Alt","vk13":"Pause","vk14":"Caps","vk1B":"Esc","vk20":"Space","vk21":"PgUp","vk22":"PgDn","vk23":"End","vk24":"Home","vk25":"Left","vk26":"Up","vk27":"Right","vk28":"Down","vk29":"Select","vk2A":"Print","vk2B":"Execute","vk2C":"PrScr","vk2D":"Ins","vk2E":"Del","vk2F":"Help","vk30":"0","vk31":"1","vk32":"2","vk33":"3","vk34":"4","vk35":"5","vk36":"6","vk37":"7","vk38":"8","vk39":"9","vk41":"A","vk42":"B","vk43":"C","vk44":"D","vk45":"E","vk46":"F","vk47":"G","vk48":"H","vk49":"I","vk4A":"J","vk4B":"K","vk4C":"L","vk4D":"M","vk4E":"N","vk4F":"O","vk50":"P","vk51":"Q","vk52":"R","vk53":"S","vk54":"T","vk55":"U","vk56":"V","vk57":"W","vk58":"X","vk59":"Y","vk5A":"Z","vk5B":"LWin","vk5C":"RWin","vk5D":"App","vk60":"Num0","vk61":"Num1","vk62":"Num2","vk63":"Num3","vk64":"Num4","vk65":"Num5","vk66":"Num6","vk67":"Num7","vk68":"Num8","vk69":"Num9","vk6A":"*","vk6B":"+","vk6D":"-","vk6E":"Dec","vk6F":"/","vk70":"F1","vk71":"F2","vk72":"F3","vk73":"F4","vk74":"F5","vk75":"F6","vk76":"F7","vk77":"F8","vk78":"F9","vk79":"F10","vk7A":"F11","vk7B":"F12","vk90":"NumLck","vk91":"ScrLck","vkAD":"Vol Mute","vkAE":"Vol Down","vkAF":"Vol Up","vkB0":"Next Track","vkB1":"Previous Track","vkB3":"Play/Pause Media"}
vkod:={"Нет":"","LButton":"vk01","RButton":"vk02","MButton":"vk04","X1Button":"vk05","X2Button":"vk06","BS":"vk08","TAB":"vk09","Enter":"vk0D","Shift":"vk10","Ctrl":"vk11","Alt":"vk12","Pause":"vk13","Caps":"vk14","Esc":"vk1B","Space":"vk20","PgUp":"vk21","PgDn":"vk22","End":"vk23","Home":"vk24","Left":"vk25","Up":"vk26","Right":"vk27","Down":"vk28","Select":"vk29","Print":"vk2A","Execute":"vk2B","PrScr":"vk2C","Ins":"vk2D","Del":"vk2E","Help":"vk2F","0":"vk30","1":"vk31","2":"vk32","3":"vk33","4":"vk34","5":"vk35","6":"vk36","7":"vk37","8":"vk38","9":"vk39","A":"vk41","B":"vk42","C":"vk43","D":"vk44","E":"vk45","F":"vk46","G":"vk47","H":"vk48","I":"vk49","J":"vk4A","K":"vk4B","L":"vk4C","M":"vk4D","N":"vk4E","O":"vk4F","P":"vk50","Q":"vk51","R":"vk52","S":"vk53","T":"vk54","U":"vk55","V":"vk56","W":"vk57","X":"vk58","Y":"vk59","Z":"vk5A","LWin":"vk5B","RWin":"vk5C","App":"vk5D","Num0":"vk60","Num1":"vk61","Num2":"vk62","Num3":"vk63","Num4":"vk64","Num5":"vk65","Num6":"vk66","Num7":"vk67","Num8":"vk68","Num9":"vk69","*":"vk6A","+":"vk6B","-":"vk6D","Dec":"vk6E","/":"vk6F","F1":"vk70","F2":"vk71","F3":"vk72","F4":"vk73","F5":"vk74","F6":"vk75","F7":"vk76","F8":"vk77","F9":"vk78","F10":"vk79","F11":"vk7A","F12":"vk7B","NumLck":"vk90","ScrLck":"vk91","Vol Mute":"vkAD","Vol Down":"vkAE","Vol Up":"vkAF","Next Track":"vkB0","Previous Track":"vkB1","Play/Pause Media":"vkB3"}
List=Нет|0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|LButton|RButton|MButton|X1Button|X2Button|BS|TAB|Enter|Shift|Ctrl|Alt|Pause|Caps|Esc|Space|PgUp|PgDn|End|Home|Left|Up|Right|Down|Select|Print|Execute|PrScr|Ins|Del|Help|LWin|RWin|App|Num0|Num1|Num2|Num3|Num4|Num5|Num6|Num7|Num8|Num9|*|+|-|Dec|/|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NumLck|ScrLck|Vol Mute|Vol Down|Vol Up|Next Track|Previous Track|Play/Pause Media
Settingspath=SOFTWARE\DF\Joystics
Joystics=0:Поумолчанию
GetKeyState,Name,JoyName
GetKeyState,Info,JoyInfo
GetKeyState,Buttons,JoyButtons
num=
loop,10
{
GetKeyState,Names,%a_index%JoyName
if Names=
continue
num++
GetKeyState,Name%num%,%num%JoyName
GetKeyState,Info%num%, %num%JoyInfo
GetKeyState,Buttons%num%,%num%JoyButtons
Joystics.="|" num ":"Name%num% " " Info%num% " " Buttons%num%
Joystics%num%:=Name%num% " " Info%num% " " Buttons%num%
}
ifexist,%a_scriptdir%\joy.ico
Menu,Tray,Icon,%a_scriptdir%\joy.ico
;Menu,Tray,NoStandard
Menu,Tray,Add,Настройки,Settings
Menu,Tray,Add,Выход,Exit
Menu,Tray,default,Настройки
gosub,LoadSettings
Gui,Add,Picture,x13 y36,joy.png
Gui,Add,checkbox,x507 y352 Checked%mousemode% vmousemode,Правый стик = Мышь
Gui,Add,text,x507 y372,Скорость:
Gui,Add,Edit,x560 y369 w30 -Multi vJoyMultiplier,%JoyMultiplier%
Gui,Add,ComboBox,x277 y374 w60 v_BLLeft,%List%
Gui,Add,ComboBox,x277 y397 w60 v_BLRight,%List%
Gui,Add,ComboBox,x204 y374 w60 v_BLUp,%List%
Gui,Add,ComboBox,x204 y397 w60 v_BLDown,%List%
Gui,Add,ComboBox,x348 y374 w60 v_BRLeft,%List%
Gui,Add,ComboBox,x348 y397 w60 v_BRRight,%List%
Gui,Add,ComboBox,x421 y374 w60 v_BRUp,%List%
Gui,Add,ComboBox,x421 y397 w60 v_BRDown,%List%
Gui,Add,ComboBox,x520 y247 w60 v_B1,%List%
Gui,Add,ComboBox,x520 y215 w60 v_B2,%List%
Gui,Add,ComboBox,x520 y277 w60 v_B3,%List%
Gui,Add,ComboBox,x520 y185 w60 v_B4,%List%
Gui,Add,ComboBox,x103 y152 w60 v_B5,%List%
Gui,Add,ComboBox,x520 y152 w60 v_B6,%List%
Gui,Add,ComboBox,x103 y117 w60 v_B7,%List%
Gui,Add,ComboBox,x519 y118 w60 v_B8,%List%
Gui,Add,ComboBox,x255 y73 w60 v_B9,%List%
Gui,Add,ComboBox,x365 y73 w60 v_B10,%List%
Gui,Add,ComboBox,x103 y308 w60 v_B11,%List%
Gui,Add,ComboBox,x520 y308 w60 v_B12,%List%
Gui,Add,ComboBox,x68 y185 w46 v_P0,%List%
Gui,Add,ComboBox,x116 y185 w46 v_P1,%List%
Gui,Add,ComboBox,x116 y230 w46 v_P2,%List%
Gui,Add,ComboBox,x116 y275 w46 v_P3,%List%
Gui,Add,ComboBox,x68 y275 w46 v_P4,%List%
Gui,Add,ComboBox,x20 y275 w46 v_P5,%List%
Gui,Add,ComboBox,x20 y230 w46 v_P6,%List%
Gui,Add,ComboBox,x20 y185 w46 v_P7,%List%
Gui,Add,ComboBox,x17 y10 w610 vJoystic gChengeDev,%Joystics%
Gui,Add,text,x17 y35 w230 h65,Info
Gui,Add,text,x80 y233,POV
Gui,Add,text,x214 y419 w60,X
Gui,Add,text,x285 y419 w60,Y
Gui,Add,text,x357 y419 w60,Z
Gui,Add,text,x430 y419 w60,R
Gui,Add,text,x193 y378,U:
Gui,Add,text,x193 y400,D:
Gui,Add,text,x267 y378,L:
Gui,Add,text,x267 y400,R:
Gui,Add,text,x339 y378,L:
Gui,Add,text,x339 y400,R:
Gui,Add,text,x411 y378,U:
Gui,Add,text,x411 y400,D:
Gui,Add,text,x582 y250,Button 1
Gui,Add,text,x582 y218,Button 2
Gui,Add,text,x582 y280,Button 3
Gui,Add,text,x582 y188,Button 4
Gui,Add,text,x55 y155,Button 5
Gui,Add,text,x582 y155,Button 6
Gui,Add,text,x55 y121,Button 7
Gui,Add,text,x582 y121,Button 8
Gui,Add,text,x264 y58,Button 9
Gui,Add,text,x371 y58,Button 10
Gui,Add,text,x55 y311,Button 11
Gui,Add,text,x582 y311,Button 12
Gui,Add,groupbox,x15 y173 w153 h129
gui,add,button,x570 y400 w60 h25 gOk,Oк
gui,add,button,x500 y400 w60 h25 gCencel,Отмена
gui,add,button,x500 y40 w130 h25 gFindJoys,Find Joy's
Gui,Add,checkbox,x13 y342 w175 h27 Checked%keysendmode% gSubmit vkeysendmode,Посылать нажатия в НЕактивное окно (недоделано)
Gui,Add,text,x13 y373,PID:
Gui,Add,Edit,x50 y370 w50 -Multi vPID,%PID%
Gui,Add,text,x13 y396,Title:
Gui,Add,Edit,x50 y393 w140 -Multi vTitle,%Title%
Gui,Add,text,x13 y419,Class:
Gui,Add,Edit,x50 y416 w140 -Multi vClass,%Class%
GuiControl,+default,Oк
SettingsDefault=
(
keysendmode=0
PID=
title=
class=
JoyMultiplier=5
mousemode=1
BLLeft=vk25
BLRight=vk27
BLUp=vk26
BLDown=vk28
BRLeft=vk64
BRRight=vk66
BRUp=vk68
BRDown=vk62
B1=vk12
B2=vk20
B3=vk11
B4=vk26
B5=vk51
B6=vk5a
B7=vk71
B8=vk4b
B9=vk1b
B10=vk0D
B11=vk01
B12=vk02
P0=vk26
P1=vk59
P2=vk27
P3=
P4=vk28
P5=
P6=vk25
P7=vk4e
)
gosub,settings
loop
{
; if oldtime!=
; time:=a_tickcount-oldtime
; oldtime:=a_tickcount
; if time<10
sleep,1
; POV -----------------------------------------------------------------------------
ifinstring,Info%JoystickNumber%,P
{
_Ojp:=_jp
OldPOV:=POV
jp:=GetKeyState(JoystickNumber . "JoyPOV")/4500
if jp<0
{
jp=-1
POV=
}
else
{
jp:=round(jp)
POV:=P%jp%
}
if (OldPOV!=POV)
{
if set=1
{
_jp:=jp+21
if _Ojp between 21 and 28
GuiControl,Enable,ComboBox%_ojp%
if _jp between 21 and 28
GuiControl,Disable,ComboBox%_jp%
}
else
{
if OldPOV!=
{
if keysendmode=0
Send, {%OldPOV% Up}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%OldPOV% Up},%Window%
}
}
if POV!=
{
if keysendmode=0
Send, {%POV% Down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%OldPOV% Down},%Window%
}
}
}
}
}
; Buttons -------------------------------------------------------------------------
GetKeyState,joy_buttons,%JoystickNumber%JoyButtons
Loop,%joy_buttons%
{
GetKeyState,Bstate%a_index%,%JoystickNumber%joy%a_index%
if (Bstate%a_index%="U" and joy%a_index%=1)
{
joy%a_index%=
b:=B%a_index%
if set=1
{
n:=a_index+8
GuiControl,Enable,ComboBox%n%
}
else
{
if keysendmode=0
send {%b% Up}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b% Up},%Window%
}
}
}
else if (Bstate%a_index%="D" and set=1)
{
n:=a_index+8
GuiControl,Disable,ComboBox%n%
}
}
if set=1
{
if keysendmode=1
{
mousegetpos,,,win
WinGet,_PID,PID,ahk_id %win%
WinGettitle,_title,ahk_id %win%
WinGetclass,_class,ahk_id %win%
if _class not contains tooltip
tooltip,PID: %_pid%`nTitle: %_Title%`nClass: %_class%`n`nИспользовать пид нажмите F1`nИспользовать название окна F2`nИспользовать класс окна F3
else
tooltip
}
else
tooltip
JoyX_:=round(GetKeyState(JoystickNumber . "JoyX"))
JoyY_:=round(GetKeyState(JoystickNumber . "JoyY"))
JoyZ_:=round(GetKeyState(JoystickNumber . "JoyZ"))
JoyR_:=round(GetKeyState(JoystickNumber . "JoyR"))
ControlSetText,static5,X %JoyX_%,Настройки джойстика
ControlSetText,static6,Y %JoyY_%,Настройки джойстика
ControlSetText,static7,Z %JoyZ_%,Настройки джойстика
ControlSetText,static8,R %JoyR_%,Настройки джойстика
continue
}
; Левый стик -----------------------------------------------------------------------------
if Name%JoystickNumber%=
continue
GetKeyState,JoyY,%JoystickNumber%JoyY
if (Joyy<60 and chekY1="") ; левый вниз
{
chekY1=1
if keysendmode=0
send,{%BLDown% up}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BLDown% up},%Window%
}
}
else if (Joyy>80 and chekY1=1)
{
chekY1=
if keysendmode=0
send,{%BLDown% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BLDown% down},%Window%
}
}
if (Joyy>40 and chekY2="") ; левый вверх
{
chekY2=1
if keysendmode=0
send,{%BLUp% up}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BLUp% up},%Window%
}
}
else if (Joyy<20 and chekY2=1)
{
chekY2=
if keysendmode=0
send,{%BLUp% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BLUp% down},%Window%
}
}
GetKeyState,JoyX,%JoystickNumber%JoyX
if (Joyx<60 and chekX1="") ; левый вправо
{
chekX1=1
if keysendmode=0
send,{%BLRight% up}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BLRight% up},%Window%
}
}
else if (Joyx>80 and chekX1=1)
{
chekX1=
if keysendmode=0
send,{%BLRight% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BLRight% down},%Window%
}
}
if (Joyx>40 and chekX2="") ; левый влево
{
chekX2=1
if keysendmode=0
send,{%BLLeft% up}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BLLeft% up},%Window%
}
}
else if (Joyx<20 and chekX2=1)
{
chekX2=
if keysendmode=0
send,{%BLLeft% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BLLeft% down},%Window%
}
}
; Правый стик -----------------------------------------------------------------------------
if mousemode=0
{
GetKeyState,JoyR,%JoystickNumber%JoyR
if (Joyr>40 and Joyr<60 and chekR="") ; правый верх низ
{
chekR=1
if keysendmode=0
send,{%BRDown% up}{%BRUp% up}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BRDown% up}{%BRUp% up},%Window%
}
}
else if (Joyr>80 and chekR=1)
{
chekR=
if keysendmode=0
send,{%BRDown% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BRDown% down},%Window%
}
}
else if (Joyr<20 and chekR=1)
{
chekR=
if keysendmode=0
send,{%BRUp% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BRUp% down},%Window%
}
}
GetKeyState,JoyZ,%JoystickNumber%JoyZ
if (Joyz>40 and Joyz<60 and chekZ="") ; правый лево право
{
chekZ=1
if keysendmode=0
send,{%BRLeft% up}{%BRRight% up}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BRLeft% up}{%BRRight% up},%Window%
}
}
else if (Joyz>80 and chekZ=1)
{
chekZ=
if keysendmode=0
send,{%BRRight% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BRRight% down},%Window%
}
}
else if (Joyz<20 and chekZ=1)
{
chekZ=
if keysendmode=0
send,{%BRLeft% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%BRLeft% down},%Window%
}
}
}
else ; Mouse -----------------------------------------------------------------------------
{
DeltaZ:=GetKeyState(JoystickNumber . "JoyZ")-50
DeltaR:=GetKeyState(JoystickNumber . "JoyR")-50
if (ABS(DeltaZ)>1 or ABS(DeltaR)>1)
{
IntX := (DeltaZ/60)*JoyMultiplier*mult
IntY := (DeltaR/60)*JoyMultiplier*mult
;tooltip,%DeltaZ% %DeltaR%`n%IntX% %IntY%
mult+=0.01
if mult<0.01
mult=0.01
x := 0
y := 0
if ABS(IntX) <= 1
{
PrevX += IntX
if ABS(PrevX) >= 1
{
x := PrevX
PrevX := 0
}
}
else
{
x := IntX
PrevX := 0
}
if ABS(IntY) <= 1z
{
PrevY += IntY
if ABS(PrevY) >= 1
{
y := PrevY
PrevY :=0
}
}
else
{
y := IntY
PrevY := 0
}
DllCall("mouse_event", uint, 1, int, x, int, y, uint, 0, int, 0)
}
else
mult=0.5
}
; End -----------------------------------------------------------------------------
}
return
joy1::
joy1=1
if set=
{
if keysendmode=0
send,{%b1% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b1% down},%Window%
}
}
return
joy2::
joy2=1
if set=
{
if keysendmode=0
send,{%b2% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b2% down},%Window%
}
}
return
joy3::
joy3=1
if set=
{
if keysendmode=0
send,{%b3% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b3% down},%Window%
}
}
return
joy4::
joy4=1
if set=
{
if keysendmode=0
send,{%b4% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b4% down},%Window%
}
}
return
joy5::
joy5=1
if set=
{
if keysendmode=0
send,{%b5% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b5% down},%Window%
}
}
return
joy6::
joy6=1
if set=
{
if keysendmode=0
send,{%b6% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b6% down},%Window%
}
}
return
joy7::
joy7=1
if set=
{
if keysendmode=0
send,{%b7% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b7% down},%Window%
}
}
return
joy8::
joy8=1
if set=
{
if keysendmode=0
send,{%b8% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b8% down},%Window%
}
}
return
joy9::
joy9=1
if set=
{
if keysendmode=0
send,{%b9% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b9% down},%Window%
}
}
if (joy10=1 and mousemode=1)
{
mousemode=0
tooltip,Правый стик = Кнопки
settimer,removetooltip,-2000
}
else if (joy10=1 and mousemode=0)
{
mousemode=1
tooltip,Правый стик = Мышь
settimer,removetooltip,-3000
}
return
joy10::
joy10=1
if set=
{
if keysendmode=0
send,{%b10% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b10% down},%Window%
}
}
if (joy9=1 and mousemode=1)
{
mousemode=0
tooltip,Правый стик = Кнопки
}
else if (joy9=1 and mousemode=0)
{
mousemode=1
tooltip,Правый стик = Мышь
}
return
joy11::
joy11=1
if set=
{
if keysendmode=0
send,{%b11% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b11% down},%Window%
}
}
return
joy12::
joy12=1
if set=
{
if keysendmode=0
send,{%b12% down}
else
{
SendMessage,0x06,1,,,%window%
ControlSend,,{%b12% down},%Window%
}
}
return
ChengeDev:
tooltip
gui,submit,nohide
StringLeft,JoystickNumber,Joystic,1
if JoystickNumber=0
JoystickNumber=
RegWrite,REG_SZ,HKCU,%Settingspath%,JoystickNumber,%JoystickNumber%
gosub,LoadSettings
Control,ChooseString,% key["" BLLeft ""],ComboBox1,Настройки джойстика
Control,ChooseString,% key["" BLRight ""],ComboBox2,Настройки джойстика
Control,ChooseString,% key["" BLUp ""],ComboBox3,Настройки джойстика
Control,ChooseString,% key["" BLDown ""],ComboBox4,Настройки джойстика
Control,ChooseString,% key["" BRLeft ""],ComboBox5,Настройки джойстика
Control,ChooseString,% key["" BRRight ""],ComboBox6,Настройки джойстика
Control,ChooseString,% key["" BRUp ""],ComboBox7,Настройки джойстика
Control,ChooseString,% key["" BRDown ""],ComboBox8,Настройки джойстика
Control,ChooseString,% key["" B1 ""],ComboBox9,Настройки джойстика
Control,ChooseString,% key["" B2 ""],ComboBox10,Настройки джойстика
Control,ChooseString,% key["" B3 ""],ComboBox11,Настройки джойстика
Control,ChooseString,% key["" B4 ""],ComboBox12,Настройки джойстика
Control,ChooseString,% key["" B5 ""],ComboBox13,Настройки джойстика
Control,ChooseString,% key["" B6 ""],ComboBox14,Настройки джойстика
Control,ChooseString,% key["" B7 ""],ComboBox15,Настройки джойстика
Control,ChooseString,% key["" B8 ""],ComboBox16,Настройки джойстика
Control,ChooseString,% key["" B9 ""],ComboBox17,Настройки джойстика
Control,ChooseString,% key["" B10 ""],ComboBox18,Настройки джойстика
Control,ChooseString,% key["" B11 ""],ComboBox19,Настройки джойстика
Control,ChooseString,% key["" B12 ""],ComboBox20,Настройки джойстика
Control,ChooseString,% key["" P0 ""],ComboBox21,Настройки джойстика
Control,ChooseString,% key["" P1 ""],ComboBox22,Настройки джойстика
Control,ChooseString,% key["" P2 ""],ComboBox23,Настройки джойстика
Control,ChooseString,% key["" P3 ""],ComboBox24,Настройки джойстика
Control,ChooseString,% key["" P4 ""],ComboBox25,Настройки джойстика
Control,ChooseString,% key["" P5 ""],ComboBox26,Настройки джойстика
Control,ChooseString,% key["" P6 ""],ComboBox27,Настройки джойстика
Control,ChooseString,% key["" P7 ""],ComboBox28,Настройки джойстика
ControlSetText,Edit1,%JoyMultiplier%,Настройки джойстика
ControlSetText,Edit31,%PID%,Настройки джойстика
ControlSetText,Edit32,%title%,Настройки джойстика
ControlSetText,Edit33,%class%,Настройки джойстика
Controlsettext,Static3,% "Имя: " Name%JoystickNumber% "`nДоп. оси: " Info%JoystickNumber% "`nКнопок: " Buttons%JoystickNumber%,Настройки джойстика
if mousemode=1
Control,Check,,Button1,Настройки джойстика
else
Control,UnCheck,,Button1,Настройки джойстика
if keysendmode=1
Control,Check,,Button6,Настройки джойстика
else
Control,UnCheck,,Button6,Настройки джойстика
return
Settings:
RegRead,JoystickNumber,HKCU,%Settingspath%,JoystickNumber
gui,show,,Настройки джойстика
sell:=JoystickNumber+1
sell:= JoystickNumber="" ? 1 : sell
Control,Choose,% sell,ComboBox29,Настройки джойстика
;gosub,ChengeDev
set=1
return
Submit:
gui,submit,nohide
return
Ok:
if title!=
Window=%title%
if class!=
Window=ahk_class %class%
if pid!=
Window=ahk_pid %pid%
if keysendmode=1
tooltip,%Window%
settimer,removetooltip,-2000
set=
gui,submit
BLLeft:=vkod["" _BLLeft ""]
BLRight:=vkod["" _BLRight ""]
BLUp:=vkod["" _BLUp ""]
BLDown:=vkod["" _BLDown ""]
BRLeft:=vkod["" _BRLeft ""]
BRRight:=vkod["" _BRRight ""]
BRUp:=vkod["" _BRUp ""]
BRDown:=vkod["" _BRDown ""]
B1:=vkod["" _B1 ""]
B2:=vkod["" _B2 ""]
B3:=vkod["" _B3 ""]
B4:=vkod["" _B4 ""]
B5:=vkod["" _B5 ""]
B6:=vkod["" _B6 ""]
B7:=vkod["" _B7 ""]
B8:=vkod["" _B8 ""]
B9:=vkod["" _B9 ""]
B10:=vkod["" _B10 ""]
B11:=vkod["" _B11 ""]
B12:=vkod["" _B12 ""]
P0:=vkod["" _P0 ""]
P1:=vkod["" _P1 ""]
P2:=vkod["" _P2 ""]
P3:=vkod["" _P3 ""]
P4:=vkod["" _P4 ""]
P5:=vkod["" _P5 ""]
P6:=vkod["" _P6 ""]
P7:=vkod["" _P7 ""]
gosub,SaveSettings
return
Cencel:
settimer,removetooltip,-2000
set=
gui,hide
return
SaveSettings:
RegWrite,REG_SZ,HKCU,%Settingspath%,JoystickNumber,%JoystickNumber%
loop,parse,SettingsDefault,`n
{
Loop,parse,a_loopfield,=
{
if a_index=1
{
Setting:=a_loopfield
Break
}
}
RegWrite,REG_SZ,HKCU,%Settingspath%%Joystic%,%Setting%,% %Setting%
}
LoadSettings:
loop,parse,SettingsDefault,`n
{
Loop,parse,a_loopfield,=
{
if a_index=1
Setting:=a_loopfield
else if a_index=2
Default:=a_loopfield
else
Default.="=" a_loopfield
}
RegRead,%Setting%,HKCU,%Settingspath%%Joystic%,%Setting%
RegRead,Rtmp,HKCU,%Settingspath%%Joystic%,%Setting%
if Rtmp=
{
RegWrite,REG_SZ,HKCU,%Settingspath%%Joystic%,%Setting%,%Default%
RegRead,%Setting%,HKCU,%Settingspath%%Joystic%,%Setting%
}
}
return
Exit:
exitapp
return
FindJoys:
run,%a_scriptfullpath%
Exitapp
return
RemoveToolTip:
tooltip
return
#if set=1
F1::
if ChengeDev!=
return
ControlSetText,Edit31,%_PID%,Настройки джойстика
ControlSetText,Edit32,,Настройки джойстика
ControlSetText,Edit33,,Настройки джойстика
gui,submit,nohide
gosub,Ok
return
F2::
if ChengeDev!=
return
ControlSetText,Edit31,,Настройки джойстика
ControlSetText,Edit32,%_Title%,Настройки джойстика
ControlSetText,Edit33,,Настройки джойстика
gui,submit,nohide
gosub,Ok
return
F3::
if ChengeDev!=
return
ControlSetText,Edit31,,Настройки джойстика
ControlSetText,Edit32,,Настройки джойстика
ControlSetText,Edit33,%_class%,Настройки джойстика
gui,submit,nohide
gosub,Ok
return
#if
С картинкой интерфейс получше выглядит.