Вверх ↑
Этот топик читают: Гость
Ответов: 253
Рейтинг: 0
#1: 2021-12-05 14:49:18 ЛС | профиль | цитата
Подскажите пожалуйста, можно ди как-то осуществлять перехват осей и клавиши геймпада(джостика) подключённого через блютуз(usb блютуз) фирма геймпада dexp модель g-5

--- Добавлено в 2021-12-05 15:48:39

Всем спасибо) Разобрался

Add(MainForm,2953706,49,147)
{
}
Add(GamePort,1100260,350,28)
{
link(onButtons,3734208:doEvent1,[])
}
Add(Timer,4818123,308,28)
{
Interval=1
link(onTimer,1100260:doCheck,[])
}
Add(Hub,3734208,399,28)
{
OutCount=3
link(onEvent1,3068371:In,[(437,34)(437,20)])
link(onEvent2,8660252:In,[(437,41)(437,34)])
link(onEvent3,2173418:In,[])
}
Add(MouseEvent,11157189,378,147)
{
}
Add(If_else,1467056,273,154)
{
Type=2
Op2=String(40000)
link(onTrue,14258842:doData,[])
}
Add(If_else,7778589,273,196)
{
Type=1
Op2=String(30000)
link(onTrue,3851662:doData,[])
}
Add(Hub,5135449,231,154)
{
link(onEvent1,1467056:doCompare,[])
link(onEvent2,7778589:doCompare,[(259,167)(259,202)])
}
Add(DoData,14258842,322,154)
{
Data=String(5)
link(onEventData,11157189:doMove,[])
}
Add(DoData,3851662,322,196)
{
Data=String(-5)
link(onEventData,11444200:doMove,[(366,202)(366,209)])
}
Add(If_else,2953754,602,154)
{
Type=2
Op2=String(40000)
link(onTrue,10609588:doData,[])
}
Add(If_else,7724795,602,238)
{
Type=1
Op2=String(30000)
link(onTrue,14051608:doData,[])
}
Add(Hub,5892551,560,154)
{
link(onEvent1,2953754:doCompare,[])
link(onEvent2,7724795:doCompare,[(588,167)(588,244)])
}
Add(MouseEvent,11444200,378,196)
{
}
Add(MouseEvent,2600784,707,147)
{
link(Y,16072902:Value,[])
}
Add(MouseEvent,14181352,707,231)
{
link(Y,4050574:Value,[])
}
Add(Memory,16072902,721,105)
{
Default=String(5)
}
Add(Memory,4050574,721,189)
{
Default=String(-5)
}
Add(MouseEvent,9478143,490,343)
{
}
Add(If_else,10731498,385,350)
{
Type=2
Op2=String(40000)
link(onTrue,6116434:doData,[])
}
Add(If_else,3385266,385,392)
{
Type=1
Op2=String(30000)
link(onTrue,9512246:doData,[])
}
Add(Hub,13592478,343,350)
{
link(onEvent1,10731498:doCompare,[])
link(onEvent2,3385266:doCompare,[(371,363)(371,398)])
}
Add(DoData,6116434,434,350)
{
Data=String(5)
link(onEventData,7984864:doWork2,[])
}
Add(DoData,9512246,434,392)
{
Data=String(-5)
link(onEventData,5423262:doClick,[])
}
Add(MouseEvent,5423262,490,392)
{
Button=2
}
Add(Memory,14327557,301,350)
{
Point(Data)
link(onData,13592478:doEvent1,[])
link(Data,1535948:getVar,[])
}
Add(Memory,16654116,189,154)
{
Point(Data)
link(onData,5135449:doEvent1,[])
link(Data,4750908:getVar,[])
}
Add(DoData,10609588,651,154)
{
link(onEventData,2600784:doMove,[])
}
Add(DoData,14051608,651,238)
{
link(onEventData,14181352:doMove,[])
}
Add(Memory,16771171,518,154)
{
Point(Data)
link(onData,5892551:doEvent1,[])
link(Data,6047212:getVar,[])
}
Add(LineBreak,16652551,147,154)
{
Caption="X"
link(Out,16654116:doValue,[])
Primary=[3068371,315,-140]
}
Add(LineBreak,13433321,476,154)
{
Caption="Y"
link(Out,16771171:doValue,[])
Primary=[8660252,-14,-126]
}
Add(LineBreak,7710566,245,350)
{
Caption="L2-R3"
link(Out,14327557:doValue,[])
Primary=[2173418,217,-308]
}
Add(LineBreakEx,3015330,322,77)
{
Caption="x"
Type=3
link(_Data,1100260:X,[(328,69)(356,69)])
}
Add(LineBreakEx,5327596,357,77)
{
Caption="y"
Type=3
link(_Data,1100260:Y,[])
}
Add(LineBreakEx,10339296,392,77)
{
Caption="l2-r2"
Type=3
link(_Data,1100260:Z,[(398,69)(370,69)])
}
Add(LineBreakEx,4750908,189,126)
{
Caption="x"
Type=2
}
Add(LineBreakEx,6047212,518,126)
{
Caption="y"
Type=2
}
Add(LineBreakEx,1535948,301,322)
{
Caption="l2-r2"
Type=2
}
Add(GamePort,8752265,252,392)
{
link(onButtons,9909338:doCompare,[])
}
Add(Timer,2288979,210,392)
{
Interval=1
link(onTimer,8752265:doCheck,[])
}
Add(If_else,9909338,301,392)
{
Op2=String(1)
link(onTrue,7984864:doWork3,[(473,398)])
}
Add(HubEx,7984864,469,350)
{
link(onEvent,9478143:doClick,[(478,356)(478,349)])
}


Редактировалось 1 раз(а), последний 2021-12-05 15:48:39
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 253
Рейтинг: 0
#2: 2021-12-05 15:56:48 ЛС | профиль | цитата
Только крестовина не работает(
карма: 0

0
Ответов: 253
Рейтинг: 0
#3: 2021-12-05 17:43:10 ЛС | профиль | цитата
Немного допилил, X (Левая кнопка миши) O (Правая кнопка мыши) L2-R2 (громкость системы) треугольник(Без звука)
И дописал немного плавность курсора в зависимости от силы смещения оси
Мб не совсем правильно. но не хотелось заморачиваться с вычислениям

Add(MainForm,2953706,98,686)
{
Width=173
Height=149
Visible=1
Icon=[ZIPFE67000078DAED5C0F44655918FFF2786FB299BB5AADA1D59B8856444444BC15314426222286562B86560C113563C6C630C41031CC8A188618226278794444C430C47811BB22DE8814D7BB7BCE7DDFDDFDFABA7FCEFDB7539C6FFC9AAFF7CE3DF7DCDF39E73BDFF79D7303A813FF1E3E04F1F33EFCFD1BC08F00F0B380F808FE84DAE7B6FC0AF0C3773538625996868686868686868686868686868686863202A44F6055E048E05CA0283005B75FB20293022581138103813702BD7E1785E0AF45E09DBCC403EB02F5B794BB06818F3ECF2639ED8CC19FEC83539FFA1DEC0A34DE32EE647BF7149EED526034027F0F709ED2BAD690D37B02AFD9779F049A6F09774D02FBA4EDA6C01CCEB502CEDF4BF6FD6808FEDA042AE4FABFD0FE7199C2BA9D725FB00D379DBB03C6CD2397721D38269C72928F5645FE36C875C701E36A84F5952CDF7E43B9BBC738F1E28E72FD99D9A920FE3A59FD3D0AEDE2735D8ED7AE1BC65D33E3423EDB98C2753D6C7C0C07F0B74CCAAE86685FBFC019B956AE3BDD3798BBD110D7BF22D71603F83B2465FB42B6B397D9CDB30875242D2D6897E97A3A12A10ECA7DA3077F0DAC5C36427BBBD10F75EA91F37AE00671371CB12EBAE6143CF86B676B6954E9401BE8EB43A52CC3AC1F651B8662D4476388090FFE7A4999FD98ED6FC558CF62B66306B9EC4E01725E2EBAC41497B8C6C59197A4BE590FFEFA58EC92C4FC3954F0F1D3C429AE6D716591D439AFC0DF4E8231E6F237E26E2DC1984865FC75B2782C69DF755A6005FDA2BD14B08BF5CF610C95A4D031F0D8833FBA4E1F81162A6B849B710FFEEA99CDCD68DAFE15BA260DF8F8CF345FD59A72EE8DAE9D51F35F6D787DDA790B1ABF74F9F0B743CA3D48A92D8F589CE2F8D94F42D43183B90A8BD99CC914DA5BCFF24C0D3EFCBD25E56652684B176B0B47509F35A31FE9B7EE6E62EE2429E9E6EB820F7F93A4ECFB1462824396A7D9637EF6B14F4E29CBE228C74EEFB9F4492941FB3D41EAFD10C05F177B96A464C8659C38FB4F832EDF4D7ACC59CADB0CE3F605E3F1510A6BEF4C007F19669B92F2A38A21F9FB1210C33F5688134A09B59DDAD99E90F9E7A4F628E91CEDF059932987540CB6D678EDF935B21C52DC39DCC962C18C027FD3E49A7729F0E7E76B78F1D71A223744F3B846CC76CF72DBA7C09F2BE731E5136B878CB30AE47E2BCCCE9CF98CCD73FC3D28D7799940BB4B6E735161FFF228461E3A28FE56B17F6E7B07BBE4FB171EF7794FCA6CC46C73235B8F5A42F047E3E55721EE99411B3BCAD61E69AFB61847EF719D5D619FEF78F86FE3ACDC0AB987B4A9EBECFB41C243943CCC98573E5471FF9CFA8C4173B809DCCF799C323F6326C0F77D19D0379B8AB92B67FC3E216328AC2DA7F66436247F19160BFBCDE101962B77C316DAF2AC4FFC70A01007372870B886E3BDD9C5AF1E0C11B3513FAE33247F52DE90EB977DE2F733171E36E1EA1E08B54759F4E95708A67DD6043719C17B9864ADF8C0E2BF6E176E557DEA51BF5CA8227F030AEBF03A9BE73D6C0CCF878C6F93940C5B3F8F43E479E8189F8FC85F86CDCB419FF549FEEF7566EE2D9B5B694A2FAE495D641E4EA0DD75D6A4762C53F0C995D379DF1E913F29AF7D9E9DEE97EC2AE62F0E52E46E82C51E6E63BD0FAE9EC778121067BB3E5708FEFA7CE2A6072C67E4256162873872E0616FBDD654AF7D8AFDA0383BE4F95DBA873FC67279341795F5C95B25BDAFE7263B8C9B7701F3C96D6DE862F14B6302FCBDF0E9531AA72CBA5C6B30FEE753E4AF8FF81CC71E798A56D29E3397394ECF0AAD7B06E9E1F86B6776A5D1C71F96F3A31FFB719C717786B6394D71F6559CB9D08FF9D543122F66B08CE1B25E529F6B3821FE00AE9E159E6279CB8F8A31C1B8426E5FF5AC868AAFD808D7F759BA03E200A7DC898F3D8AC2DFB48F0DAB67E39EE338C0EF1B73F1C1836042F07E538F625EDB9155526EC9AFE208FC3505F944E87B2DA1CF7A88F6632E20073704FEFB4941980A88C18ED97AE0954F6F86AB6768BB13E68FC71AEB09D8AA1ED6E663503BA7F1858DC3A100DBBD86B1DD80E2B3ED05353C227FBD70FDDD99A8E773DA586C7308EA7B8EF52C17780E6AE7B4BDEA5A091B6346E4CFCD7FBA44BB11A6FD4D70751FF304C2EF53C5ADC3C05C023FA3B8A472710CFE32707DDF9FC63AE3E0FF3E5796F9B99710FD7C5ED831DC8CF1C4A687CD3555734031F893F20C82DF79DA40DFB087B4A98DE543783C13D5865EB2F8BA9FC5DEF3A0F6AE96F27E674CFE5A5DECE06584B57336219F79CC23EF5D09B8FF67D6EE99FF893F1E6B2EE1DECA9C623F5B5836491987EBEFEBB9CDCF2DE4A995F17E0621F63A13E06F9AB5ED043969C4F93A80F37C8B3C9789F3BA9052ECD605D7F7904E318F3042F81970D94308F3AE5012FC65E0EA3905DA8F4B0A7E4D2BC62C499CDBFDE0E273B4B158DB991F9F5CDA7C18362E4F803F87C309B87AB690DBE379B4E71D2447B21A33E6F0B3FF9378AF161C732F99AFC8FB7A11229CDD4C883F6EC3F7E1DBBEABA08A739C2391CF08A6C01FCD49ABE6639C982ACE3B33D27F79A378BF0D5C671AE23E648AFCD1DC919C3FCB387F3E937CF93224FF7E413BE67977D16FA9A0FE1ADB91E47954FDF746343434343434343434343434343434C200056E9E5EAC697552B7FFE48F558505802AE4A56ECA5D00130CA95F401EE0A22527F54A9F21F44246EAE579A157169E49BD68E5845EABF499B528F5F282D033D67380B2551137A8E6AC12C09175216E601A355DA679C50D6DBD2AF5424DB7F3550BA81701EA2CD46B529275FEA7574485792BEFE8178629DAFADCD62BB98AB8D66E8F55CE94C1D18BCFCAC59ABE20F4A38AAD5F883B1E6D8B4F7235FD6B49FCB49F5794D91665846E166AE5ABB65E29D6957F795B15FC98F96257AE5C67D4F4A790AB40CE14BAF8FD8E616673A6E0B36A647392075BBF6B2C5AD6D73B1742B7EEE6855EAECC0AFEAD2CD1FF306CFD77A92F1A395B97FDF51C72F2DAB2D44B6094EBAAB99AFE54DCB99A3B92FA7659D43C9FDB96BA4D6EC12849BDBC601AA20B3252AFE42FF2A6644BEA994A415463EB17707FC1CA88DEB77541DAD39A6ECA8E283ABA1804E53B795BAF131DF953D1D6ABF07DAD23E57545CCA74954EC3D819A6ECA7AF237725E10FD1F85B071AD]
link(onCreate,11563942:doAddTrayIcon,[])
}
Add(GamePort,1100260,350,28)
{
link(onButtons,3734208:doEvent1,[])
}
Add(Timer,4818123,308,28)
{
Interval=1
link(onTimer,1100260:doCheck,[])
}
Add(Hub,3734208,399,28)
{
OutCount=4
link(onEvent1,3068371:In,[(437,34)(437,20)])
link(onEvent2,8660252:In,[(437,41)(437,34)])
link(onEvent3,2173418:In,[])
link(onEvent4,13078662:doData,[(501,55)(501,69)])
}
Add(MouseEvent,11157189,343,336)
{
}
Add(If_else,1467056,238,343)
{
Type=2
Op2=String(50000)
link(onTrue,14258842:doData,[])
}
Add(If_else,7778589,238,385)
{
Type=1
Op2=String(20000)
link(onTrue,3851662:doData,[])
}
Add(Hub,5135449,147,336)
{
OutCount=6
link(onEvent1,14532177:doCompare,[(199,342)(199,258)])
link(onEvent2,9218462:doCompare,[(199,349)(199,300)])
link(onEvent3,1467056:doCompare,[(199,356)(199,349)])
link(onEvent4,7778589:doCompare,[(199,363)(199,391)])
link(onEvent5,4167190:doCompare,[(199,370)(199,440)])
link(onEvent6,13451886:doCompare,[(199,377)(199,482)])
}
Add(DoData,14258842,287,343)
{
Data=String(5)
link(onEventData,11157189:doMove,[])
}
Add(DoData,3851662,287,385)
{
Data=String(-5)
link(onEventData,11444200:doMove,[(331,391)(331,398)])
}
Add(If_else,2953754,896,322)
{
Type=2
Op2=String(35000)
link(onTrue,10609588:doData,[])
}
Add(If_else,7724795,903,406)
{
Type=1
Op2=String(30000)
link(onTrue,14051608:doData,[])
}
Add(Hub,5892551,560,245)
{
OutCount=6
link(onEvent1,2953754:doCompare,[(588,251)(588,328)])
link(onEvent2,7724795:doCompare,[(588,258)(588,412)])
link(onEvent3,13490003:doCompare,[(640,265)(640,580)])
link(onEvent4,14964953:doCompare,[(630,272)(630,496)])
link(onEvent5,9572428:doCompare,[(749,279)(749,671)])
link(onEvent6,16365319:doCompare,[(749,286)(749,755)])
}
Add(MouseEvent,11444200,343,385)
{
}
Add(MouseEvent,2600784,1001,315)
{
link(Y,16072902:Value,[])
}
Add(MouseEvent,14181352,1008,399)
{
link(Y,4050574:Value,[])
}
Add(Memory,16072902,1015,273)
{
Default=String(1)
}
Add(Memory,4050574,1022,357)
{
Default=String(-1)
}
Add(If_else,10731498,420,756)
{
Type=2
Op2=String(40000)
link(onTrue,6116434:doData,[])
}
Add(If_else,3385266,420,798)
{
Type=1
Op2=String(30000)
link(onTrue,9512246:doData,[])
}
Add(Hub,13592478,378,756)
{
link(onEvent1,10731498:doCompare,[])
link(onEvent2,3385266:doCompare,[(406,769)(406,804)])
}
Add(DoData,6116434,469,756)
{
Data=String(5)
link(onEventData,5008070:doPress,[])
}
Add(DoData,9512246,469,798)
{
Data=String(-5)
link(onEventData,3770417:doPress,[])
}
Add(Memory,14327557,336,756)
{
Point(Data)
link(onData,13592478:doEvent1,[])
link(Data,1535948:getVar,[])
}
Add(Memory,16654116,105,336)
{
Point(Data)
link(onData,5135449:doEvent1,[])
link(Data,4750908:getVar,[])
}
Add(DoData,10609588,945,322)
{
link(onEventData,2600784:doMove,[])
}
Add(DoData,14051608,952,406)
{
link(onEventData,14181352:doMove,[])
}
Add(Memory,16771171,518,245)
{
Point(Data)
link(onData,5892551:doEvent1,[])
link(Data,6047212:getVar,[])
}
Add(LineBreak,14168107,63,336)
{
Caption="X"
link(Out,16654116:doValue,[])
Primary=[3068371,399,-322]
}
Add(LineBreak,14565844,476,245)
{
Caption="Y"
link(Out,16771171:doValue,[])
Primary=[8660252,-14,-217]
}
Add(LineBreak,4974232,280,756)
{
Caption="L2-R3"
link(Out,14327557:doValue,[])
Primary=[2173418,182,-714]
}
Add(LineBreakEx,3015330,322,77)
{
Caption="x"
Type=3
link(_Data,1100260:X,[(328,69)(356,69)])
}
Add(LineBreakEx,5327596,357,77)
{
Caption="y"
Type=3
link(_Data,1100260:Y,[])
}
Add(LineBreakEx,10339296,392,77)
{
Caption="l2-r2"
Type=3
link(_Data,1100260:Z,[(398,69)(370,69)])
}
Add(LineBreakEx,4750908,105,308)
{
Caption="x"
Type=2
}
Add(LineBreakEx,6047212,518,217)
{
Caption="y"
Type=2
}
Add(LineBreakEx,1535948,336,728)
{
Caption="l2-r2"
Type=2
}
Add(If_else,9909338,917,28)
{
Op2=String(1)
link(onTrue,8693800:doMouseDown,[])
link(onFalse,8693800:doMouseUp,[])
}
Add(TrayIcon,11563942,154,679)
{
Point(doAddTrayIcon)
link(onClick,6394127:doPopupHere,[])
}
Add(PopupMenu,6394127,210,679)
{
Menu=#7:Закрыть|
link(onClick,13613023:doEvent,[])
}
Add(IndexToChanel,13613023,266,679)
{
Count=1
link(onEvent1,2953706:doClose,[(310,685)(310,699)(72,699)(72,713)])
}
Add(MouseEvent,8693800,1022,14)
{
Point(doMouseDown)
Point(doMouseUp)
}
Add(MouseEvent,3815649,1008,70)
{
Button=2
Point(doMouseDown)
Point(doMouseUp)
}
Add(If_else,16053643,917,70)
{
Op2=String(2)
link(onTrue,3815649:doClick,[])
}
Add(KeyEvent,3770417,532,798)
{
Code=175
}
Add(KeyEvent,5008070,532,756)
{
Code=174
}
Add(If_else,5547367,917,112)
{
Op2=String(8)
link(onTrue,11856796:doPress,[])
}
Add(KeyEvent,11856796,1001,112)
{
Code=173
}
Add(Hub,728118,686,63)
{
OutCount=3
link(onEvent1,9909338:doCompare,[(732,69)(732,34)])
link(onEvent2,16053643:doCompare,[])
link(onEvent3,5547367:doCompare,[(732,83)(732,118)])
}
Add(If_else,14964953,917,490)
{
Type=2
Op2=String(50000)
link(onTrue,14142418:doData,[])
}
Add(MouseEvent,6455849,1022,483)
{
link(Y,1192175:Value,[])
}
Add(Memory,1192175,1036,441)
{
Default=String(5)
}
Add(DoData,14142418,966,490)
{
link(onEventData,6455849:doMove,[])
}
Add(If_else,13490003,917,574)
{
Type=1
Op2=String(20000)
link(onTrue,2307625:doData,[])
}
Add(MouseEvent,6060605,1022,567)
{
link(Y,6244292:Value,[])
}
Add(Memory,6244292,1036,525)
{
Default=String(-5)
}
Add(DoData,2307625,966,574)
{
link(onEventData,6060605:doMove,[])
}
Add(MouseEvent,11633653,343,427)
{
}
Add(If_else,4167190,238,434)
{
Type=2
Op2=String(60000)
link(onTrue,3606698:doData,[])
}
Add(If_else,13451886,238,476)
{
Type=1
Op2=String(500)
link(onTrue,8847978:doData,[])
}
Add(DoData,3606698,287,434)
{
Data=String(10)
link(onEventData,11633653:doMove,[])
}
Add(DoData,8847978,287,476)
{
Data=String(-10)
link(onEventData,10926094:doMove,[(331,482)(331,489)])
}
Add(MouseEvent,10926094,343,476)
{
}
Add(MouseEvent,16383161,343,245)
{
}
Add(If_else,14532177,238,252)
{
Type=2
Op2=String(35000)
link(onTrue,16466627:doData,[])
}
Add(If_else,9218462,238,294)
{
Type=1
Op2=String(30000)
link(onTrue,11326385:doData,[])
}
Add(DoData,16466627,287,252)
{
Data=String(1)
link(onEventData,16383161:doMove,[])
}
Add(DoData,11326385,287,294)
{
Data=String(-1)
link(onEventData,5658714:doMove,[(331,300)(331,307)])
}
Add(MouseEvent,5658714,343,294)
{
}
Add(GamePort,14863033,203,119)
{
link(onButtons,9817368:doEvent1,[])
}
Add(Timer,13303653,161,119)
{
Interval=1
link(onTimer,14863033:doCheck,[])
}
Add(LineBreakEx,2844265,175,168)
{
Caption="x"
Type=3
link(_Data,14863033:X,[(181,160)(209,160)])
}
Add(LineBreakEx,9030466,322,112)
{
Caption="x"
Type=2
}
Add(Edit,15010147,315,140)
{
Left=630
Top=340
Align=2
link(Str,9030466:getVar,[(321,133)(328,133)])
}
Add(Edit,4614504,315,182)
{
Left=630
Top=340
Align=2
link(Str,14863033:Y,[(321,166)(216,166)])
}
Add(Hub,9817368,238,119)
{
link(onEvent1,15010147:doText,[(275,125)(275,146)])
link(onEvent2,4614504:doText,[(284,132)(284,188)])
}
Add(If_else,9572428,924,665)
{
Type=2
Op2=String(60000)
link(onTrue,5294643:doData,[])
}
Add(MouseEvent,7406630,1029,658)
{
link(Y,10308234:Value,[])
}
Add(Memory,10308234,1043,616)
{
Default=String(10)
}
Add(DoData,5294643,973,665)
{
link(onEventData,7406630:doMove,[])
}
Add(If_else,16365319,924,749)
{
Type=1
Op2=String(500)
link(onTrue,15670480:doData,[])
}
Add(MouseEvent,2592700,1029,742)
{
link(Y,4142636:Value,[])
}
Add(Memory,4142636,1043,700)
{
Default=String(-10)
}
Add(DoData,15670480,973,749)
{
link(onEventData,2592700:doMove,[])
}
Add(ChangeMon,13078662,588,63)
{
link(onData,728118:doEvent1,[])
}

карма: 0

0
Ответов: 697
Рейтинг: 143
#4: 2021-12-06 06:11:28 ЛС | профиль | цитата
egorhay, мне кажется что, использование компонента IntToBits значительно упрастит схему.

Add(MainForm,2953706,21,105)
{
Width=550
Height=210
}
Add(GamePort,14863033,224,119)
{
link(onButtons,2505435:doData,[])
}
Add(Timer,13303653,77,119)
{
Interval=10
link(onTimer,12480265:doEvent1,[])
}
Add(IntToBits,9813484,343,119)
{
Count=16
Data_0=Integer(0)
Data_1=Integer(1)
link(onBit1,12862574:doEvent,[])
link(onBit2,921804:doEvent,[(501,132)(501,160)])
link(onBit3,7859869:doEvent,[(494,139)(494,195)])
link(onBit4,7645432:doEvent,[(487,146)(487,230)])
link(onBit5,4949933:doEvent,[(480,153)(480,265)])
link(onBit6,3138751:doEvent,[(473,160)(473,300)])
link(onBit7,2510768:doEvent,[(466,167)(466,335)])
link(onBit8,188524:doEvent,[(459,174)(459,370)])
link(onBit9,7543630:doEvent,[(452,181)(452,405)])
link(onBit10,13482539:doEvent,[(445,188)(445,440)])
link(onBit11,4167980:doEvent,[(438,195)(438,475)])
link(onBit12,10822832:doEvent,[(431,202)(431,510)])
link(onBit13,13158703:doEvent,[(424,209)(424,545)])
link(onBit14,11225072:doEvent,[(417,216)(417,580)])
link(onBit15,738289:doEvent,[(410,223)(410,615)])
link(onBit16,7033254:doEvent,[(403,230)(403,650)])
}
Add(MouseEvent,15044882,175,280)
{
Point(doPosition)
link(X,15880392:Result,[])
link(Y,205242:Result,[(195,264)(230,264)])
}
Add(Screen,9133569,182,154)
{
}
Add(Hub,12480265,126,119)
{
OutCount=3
link(onEvent1,14863033:doCheck,[])
link(onEvent2,15880392:doCalc,[(172,132)(172,230)])
link(onEvent3,15044882:doPosition,[(165,139)(165,300)])
}
Add(MathParse,15880392,182,224)
{
MathStr="%1/65534 * %2"
link(onResult,205242:doCalc,[])
link(X1,9133569:Width,[])
link(X2,14863033:X,[(195,208)(230,208)])
}
Add(MathParse,205242,224,224)
{
MathStr="%1/65534 * %2"
link(X1,9133569:Height,[(230,215)(223,215)(223,201)(195,201)])
link(X2,14863033:Y,[])
}
Add(ChangeMon,2505435,273,119)
{
link(onData,9813484:doBits,[])
}
Add(LED,9812550,560,112)
{
Left=15
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,12862574,511,119)
{
link(onEvent1,9812550:doOff,[])
link(onEvent2,9812550:doOn,[])
}
Add(LED,9290728,560,147)
{
Left=45
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,921804,511,154)
{
link(onEvent1,9290728:doOff,[])
link(onEvent2,9290728:doOn,[])
}
Add(LED,8629976,560,217)
{
Left=105
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,7645432,511,224)
{
link(onEvent1,8629976:doOff,[])
link(onEvent2,8629976:doOn,[])
}
Add(LED,233224,560,182)
{
Left=75
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,7859869,511,189)
{
link(onEvent1,233224:doOff,[])
link(onEvent2,233224:doOn,[])
}
Add(LED,5653209,560,252)
{
Left=135
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,4949933,511,259)
{
link(onEvent1,5653209:doOff,[])
link(onEvent2,5653209:doOn,[])
}
Add(LED,10128901,560,287)
{
Left=165
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,3138751,511,294)
{
link(onEvent1,10128901:doOff,[])
link(onEvent2,10128901:doOn,[])
}
Add(LED,13351286,560,357)
{
Left=225
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,188524,511,364)
{
link(onEvent1,13351286:doOff,[])
link(onEvent2,13351286:doOn,[])
}
Add(LED,12726316,560,322)
{
Left=195
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,2510768,511,329)
{
link(onEvent1,12726316:doOff,[])
link(onEvent2,12726316:doOn,[])
}
Add(LED,2478362,560,392)
{
Left=255
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,7543630,511,399)
{
link(onEvent1,2478362:doOff,[])
link(onEvent2,2478362:doOn,[])
}
Add(LED,4386311,560,427)
{
Left=285
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,13482539,511,434)
{
link(onEvent1,4386311:doOff,[])
link(onEvent2,4386311:doOn,[])
}
Add(LED,667504,560,497)
{
Left=345
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,10822832,511,504)
{
link(onEvent1,667504:doOff,[])
link(onEvent2,667504:doOn,[])
}
Add(LED,578916,560,462)
{
Left=315
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,4167980,511,469)
{
link(onEvent1,578916:doOff,[])
link(onEvent2,578916:doOn,[])
}
Add(LED,2755943,560,532)
{
Left=375
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,13158703,511,539)
{
link(onEvent1,2755943:doOff,[])
link(onEvent2,2755943:doOn,[])
}
Add(LED,6509903,560,567)
{
Left=405
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,11225072,511,574)
{
link(onEvent1,6509903:doOff,[])
link(onEvent2,6509903:doOn,[])
}
Add(LED,6103848,560,637)
{
Left=465
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,7033254,511,644)
{
link(onEvent1,6103848:doOff,[])
link(onEvent2,6103848:doOn,[])
}
Add(LED,8800786,560,602)
{
Left=435
Top=10
Shape=1
ColorOn=65280
ColorOff=12639424
}
Add(IndexToChanel,738289,511,609)
{
link(onEvent1,8800786:doOff,[])
link(onEvent2,8800786:doOn,[])
}

Предупреждение: Не запускайте схему если у вас нет игрового джойстика. Для непослушных - ALT+F4
карма: 15

0
Ответов: 284
Рейтинг: 23
#5: 2021-12-06 13:18:39 ЛС | профиль | цитата
Gunta писал(а):
Не запускайте схему если у вас нет игрового джойстика

Раньше нужно было написать
Матерился как сапожник
карма: 2
0
Ответов: 963
Рейтинг: 12
#6: 2021-12-07 20:58:10 ЛС | профиль | цитата
Очень интересный проект ! А ВиАр контроллеры можно так-же перехватить ?
Зы
А по джойстику и геймпаду надо будет проверить как все работает если запущен SteamVR ...
Бо есть подозрение что SteamVR определяя устройство полностью блокирует сторонний доступ.

Редактировалось 3 раз(а), последний 2021-12-07 21:08:21
карма: 0

0
Ответов: 253
Рейтинг: 0
#7: 2021-12-07 23:59:19 ЛС | профиль | цитата
AlexKir писал(а):
по джойстику и геймпаду надо будет проверить
Ну с ВиАром чтобы тестить нужно как минимум оборудование) Имеем только Геймпад)
Gunta писал(а):
Использование компонента IntToBits значительно упрастит схему
Возможно.. Но хотелось бы конечно и мышкой пользоваться по надобности, да и чтобы в играх не мешало.
Ориентируюсь именно на работу геймпадом(джостиком) в Windows. На просторах интернета не нашел подходящего ПО для минимального и простого управления.
Опять же, наверное тут идёт уклад именно на блютуз или вайфай джостик. Чтобы можно было завалиться в кровать или отдалённый уголок комнаты, и пользоваться джостиком как мышкой.
Поставить фильм на паузу, сделать по тише или выключить компьютер.
Но и сама программа (Джлстика) не должна мешать играть в игры)
Я немного исправил.
Теперь громкость можно регулировать комбинацией Start(Menu) + L2-R2
Добавил скролинг(прокрутку колёсика) Start(Menu) + Левый стик вниз-вверх
Удалил
egorhay писал(а):
треугольник(Без звука)
. посчитал не целесообразным. Можно же просто громкость в 0 поставить)


Add(MainForm,2953706,28,35)
{
Width=173
Height=149
Visible=1
Icon=[ZIPFE67000078DAED5C0F44655918FFF2786FB299BB5AADA1D59B8856444444BC15314426222286562B86560C113563C6C630C41031CC8A188618226278794444C430C47811BB22DE8814D7BB7BCE7DDFDDFDFABA7FCEFDB7539C6FFC9AAFF7CE3DF7DCDF39E73BDFF79D7303A813FF1E3E04F1F33EFCFD1BC08F00F0B380F808FE84DAE7B6FC0AF0C3773538625996868686868686868686868686868686863202A44F6055E048E05CA0283005B75FB20293022581138103813702BD7E1785E0AF45E09DBCC403EB02F5B794BB06818F3ECF2639ED8CC19FEC83539FFA1DEC0A34DE32EE647BF7149EED526034027F0F709ED2BAD690D37B02AFD9779F049A6F09774D02FBA4EDA6C01CCEB502CEDF4BF6FD6808FEDA042AE4FABFD0FE7199C2BA9D725FB00D379DBB03C6CD2397721D38269C72928F5645FE36C875C701E36A84F5952CDF7E43B9BBC738F1E28E72FD99D9A920FE3A59FD3D0AEDE2735D8ED7AE1BC65D33E3423EDB98C2753D6C7C0C07F0B74CCAAE86685FBFC019B956AE3BDD3798BBD110D7BF22D71603F83B2465FB42B6B397D9CDB30875242D2D6897E97A3A12A10ECA7DA3077F0DAC5C36427BBBD10F75EA91F37AE00671371CB12EBAE6143CF86B676B6954E9401BE8EB43A52CC3AC1F651B8662D4476388090FFE7A4999FD98ED6FC558CF62B66306B9EC4E01725E2EBAC41497B8C6C59197A4BE590FFEFA58EC92C4FC3954F0F1D3C429AE6D716591D439AFC0DF4E8231E6F237E26E2DC1984865FC75B2782C69DF755A6005FDA2BD14B08BF5CF610C95A4D031F0D8833FBA4E1F81162A6B849B710FFEEA99CDCD68DAFE15BA260DF8F8CF345FD59A72EE8DAE9D51F35F6D787DDA790B1ABF74F9F0B743CA3D48A92D8F589CE2F8D94F42D43183B90A8BD99CC914DA5BCFF24C0D3EFCBD25E56652684B176B0B47509F35A31FE9B7EE6E62EE2429E9E6EB820F7F93A4ECFB1462824396A7D9637EF6B14F4E29CBE228C74EEFB9F4492941FB3D41EAFD10C05F177B96A464C8659C38FB4F832EDF4D7ACC59CADB0CE3F605E3F1510A6BEF4C007F19669B92F2A38A21F9FB1210C33F5688134A09B59DDAD99E90F9E7A4F628E91CEDF059932987540CB6D678EDF935B21C52DC39DCC962C18C027FD3E49A7729F0E7E76B78F1D71A223744F3B846CC76CF72DBA7C09F2BE731E5136B878CB30AE47E2BCCCE9CF98CCD73FC3D28D7799940BB4B6E735161FFF228461E3A28FE56B17F6E7B07BBE4FB171EF7794FCA6CC46C73235B8F5A42F047E3E55721EE99411B3BCAD61E69AFB61847EF719D5D619FEF78F86FE3ACDC0AB987B4A9EBECFB41C243943CCC98573E5471FF9CFA8C4173B809DCCF799C323F6326C0F77D19D0379B8AB92B67FC3E216328AC2DA7F66436247F19160BFBCDE101962B77C316DAF2AC4FFC70A01007372870B886E3BDD9C5AF1E0C11B3513FAE33247F52DE90EB977DE2F733171E36E1EA1E08B54759F4E95708A67DD6043719C17B9864ADF8C0E2BF6E176E557DEA51BF5CA8227F030AEBF03A9BE73D6C0CCF878C6F93940C5B3F8F43E479E8189F8FC85F86CDCB419FF549FEEF7566EE2D9B5B694A2FAE495D641E4EA0DD75D6A4762C53F0C995D379DF1E913F29AF7D9E9DEE97EC2AE62F0E52E46E82C51E6E63BD0FAE9EC778121067BB3E5708FEFA7CE2A6072C67E4256162873872E0616FBDD654AF7D8AFDA0383BE4F95DBA873FC67279341795F5C95B25BDAFE7263B8C9B7701F3C96D6DE862F14B6302FCBDF0E9531AA72CBA5C6B30FEE753E4AF8FF81CC71E798A56D29E3397394ECF0AAD7B06E9E1F86B6776A5D1C71F96F3A31FFB719C717786B6394D71F6559CB9D08FF9D543122F66B08CE1B25E529F6B3821FE00AE9E159E6279CB8F8A31C1B8426E5FF5AC868AAFD808D7F759BA03E200A7DC898F3D8AC2DFB48F0DAB67E39EE338C0EF1B73F1C1836042F07E538F625EDB9155526EC9AFE208FC3505F944E87B2DA1CF7A88F6632E20073704FEFB4941980A88C18ED97AE0954F6F86AB6768BB13E68FC71AEB09D8AA1ED6E663503BA7F1858DC3A100DBBD86B1DD80E2B3ED05353C227FBD70FDDD99A8E773DA586C7308EA7B8EF52C17780E6AE7B4BDEA5A091B6346E4CFCD7FBA44BB11A6FD4D70751FF304C2EF53C5ADC3C05C023FA3B8A472710CFE32707DDF9FC63AE3E0FF3E5796F9B99710FD7C5ED831DC8CF1C4A687CD3555734031F893F20C82DF79DA40DFB087B4A98DE543783C13D5865EB2F8BA9FC5DEF3A0F6AE96F27E674CFE5A5DECE06584B57336219F79CC23EF5D09B8FF67D6EE99FF893F1E6B2EE1DECA9C623F5B5836491987EBEFEBB9CDCF2DE4A995F17E0621F63A13E06F9AB5ED043969C4F93A80F37C8B3C9789F3BA9052ECD605D7F7904E318F3042F81970D94308F3AE5012FC65E0EA3905DA8F4B0A7E4D2BC62C499CDBFDE0E273B4B158DB991F9F5CDA7C18362E4F803F87C309B87AB690DBE379B4E71D2447B21A33E6F0B3FF9378AF161C732F99AFC8FB7A11229CDD4C883F6EC3F7E1DBBEABA08A739C2391CF08A6C01FCD49ABE6639C982ACE3B33D27F79A378BF0D5C671AE23E648AFCD1DC919C3FCB387F3E937CF93224FF7E413BE67977D16FA9A0FE1ADB91E47954FDF746343434343434343434343434343434C200056E9E5EAC697552B7FFE48F558505802AE4A56ECA5D00130CA95F401EE0A22527F54A9F21F44246EAE579A157169E49BD68E5845EABF499B528F5F282D033D67380B2551137A8E6AC12C09175216E601A355DA679C50D6DBD2AF5424DB7F3550BA81701EA2CD46B529275FEA7574485792BEFE8178629DAFADCD62BB98AB8D66E8F55CE94C1D18BCFCAC59ABE20F4A38AAD5F883B1E6D8B4F7235FD6B49FCB49F5794D91665846E166AE5ABB65E29D6957F795B15FC98F96257AE5C67D4F4A790AB40CE14BAF8FD8E616673A6E0B36A647392075BBF6B2C5AD6D73B1742B7EEE6855EAECC0AFEAD2CD1FF306CFD77A92F1A395B97FDF51C72F2DAB2D44B6094EBAAB99AFE54DCB99A3B92FA7659D43C9FDB96BA4D6EC12849BDBC601AA20B3252AFE42FF2A6644BEA994A415463EB17707FC1CA88DEB77541DAD39A6ECA8E283ABA1804E53B795BAF131DF953D1D6ABF07DAD23E57545CCA74954EC3D819A6ECA7AF237725E10FD1F85B071AD]
link(onCreate,11563942:doAddTrayIcon,[])
}
Add(GamePort,1100260,294,28)
{
link(onButtons,15578986:doValue,[])
}
Add(Timer,4818123,252,28)
{
Interval=1
link(onTimer,1100260:doCheck,[])
}
Add(Hub,3734208,469,28)
{
OutCount=5
link(onEvent1,3068371:In,[(507,34)(507,20)])
link(onEvent2,8660252:In,[(512,41)(512,34)])
link(onEvent3,2173418:In,[])
link(onEvent4,13078662:doData,[(516,55)(516,69)])
link(onEvent5,3764778:In,[(507,62)(507,83)])
}
Add(MouseEvent,11157189,343,245)
{
}
Add(If_else,1467056,259,252)
{
Type=2
Op2=String(50000)
link(onTrue,14258842:doData,[])
}
Add(If_else,7778589,259,294)
{
Type=1
Op2=String(20000)
link(onTrue,3851662:doData,[])
}
Add(Hub,5135449,168,245)
{
OutCount=6
link(onEvent1,14532177:doCompare,[(220,251)(220,167)])
link(onEvent2,9218462:doCompare,[(237,258)(237,209)])
link(onEvent3,1467056:doCompare,[(247,265)(247,258)])
link(onEvent4,7778589:doCompare,[(220,272)(220,300)])
link(onEvent5,4167190:doCompare,[(211,279)(211,349)])
link(onEvent6,13451886:doCompare,[(199,286)(199,391)])
}
Add(DoData,14258842,301,252)
{
Data=String(5)
link(onEventData,11157189:doMove,[])
}
Add(DoData,3851662,301,294)
{
Data=String(-5)
link(onEventData,11444200:doMove,[])
}
Add(If_else,2953754,812,210)
{
Type=2
Op2=String(35000)
link(onTrue,10609588:doData,[])
}
Add(If_else,7724795,819,294)
{
Type=1
Op2=String(30000)
link(onTrue,14051608:doData,[])
}
Add(Hub,5892551,672,210)
{
OutCount=6
link(onEvent1,2953754:doCompare,[])
link(onEvent2,7724795:doCompare,[(796,223)(796,300)])
link(onEvent3,14964953:doCompare,[(786,230)(786,384)])
link(onEvent4,13490003:doCompare,[(773,237)(773,468)])
link(onEvent5,9572428:doCompare,[(755,244)(755,559)])
link(onEvent6,16365319:doCompare,[(741,251)(741,643)])
}
Add(MouseEvent,11444200,343,287)
{
}
Add(MouseEvent,2600784,917,203)
{
link(Y,16072902:Value,[])
}
Add(MouseEvent,14181352,924,287)
{
link(Y,4050574:Value,[])
}
Add(Memory,16072902,931,161)
{
Default=String(1)
}
Add(Memory,4050574,938,245)
{
Default=String(-1)
}
Add(If_else,10731498,238,525)
{
Type=2
Op2=String(40000)
link(onTrue,6116434:doData,[])
}
Add(If_else,3385266,238,567)
{
Type=1
Op2=String(30000)
link(onTrue,9512246:doData,[])
}
Add(Hub,13592478,196,525)
{
link(onEvent1,10731498:doCompare,[])
link(onEvent2,3385266:doCompare,[(224,538)(224,573)])
}
Add(DoData,6116434,287,525)
{
Data=String(5)
link(onEventData,5008070:doPress,[])
}
Add(DoData,9512246,287,567)
{
Data=String(-5)
link(onEventData,3770417:doPress,[])
}
Add(Memory,14327557,91,525)
{
Point(Data)
link(onData,1049715:doCompare,[])
link(Data,1535948:getVar,[])
}
Add(Memory,16654116,77,245)
{
Point(Data)
link(onData,5135449:doEvent1,[])
link(Data,4750908:getVar,[])
}
Add(DoData,10609588,861,210)
{
link(onEventData,2600784:doMove,[])
}
Add(DoData,14051608,868,294)
{
link(onEventData,14181352:doMove,[])
}
Add(Memory,16771171,553,210)
{
Point(Data)
link(onData,868121:doCompare,[])
link(Data,6047212:getVar,[])
}
Add(LineBreak,5063811,35,245)
{
Caption="X"
link(Out,16654116:doValue,[])
Primary=[3068371,497,-231]
}
Add(LineBreak,7287058,511,210)
{
Caption="Y"
link(Out,16771171:doValue,[])
Primary=[8660252,21,-182]
}
Add(LineBreak,9327198,35,525)
{
Caption="L2-R3"
link(Out,14327557:doValue,[])
Primary=[2173418,497,-483]
}
Add(LineBreakEx,3015330,266,77)
{
Caption="X"
Type=3
link(_Data,1100260:X,[(272,69)(300,69)])
}
Add(LineBreakEx,5327596,301,77)
{
Caption="Y"
Type=3
link(_Data,1100260:Y,[])
}
Add(LineBreakEx,10339296,336,77)
{
Caption="l2-r2"
Type=3
link(_Data,1100260:Z,[(342,69)(314,69)])
}
Add(LineBreakEx,4750908,77,217)
{
Caption="X"
Type=2
}
Add(LineBreakEx,6047212,553,182)
{
Caption="Y"
Type=2
}
Add(LineBreakEx,1535948,91,497)
{
Caption="l2-r2"
Type=2
}
Add(If_else,9909338,749,28)
{
Op2=String(1)
link(onTrue,8693800:doMouseDown,[])
link(onFalse,8693800:doMouseUp,[])
}
Add(TrayIcon,11563942,84,28)
{
Point(doAddTrayIcon)
link(onClick,6394127:doPopupHere,[])
}
Add(PopupMenu,6394127,140,28)
{
Menu=#7:Закрыть|
link(onClick,13613023:doEvent,[])
}
Add(IndexToChanel,13613023,196,28)
{
Count=1
link(onEvent1,2953706:doClose,[(240,34)(240,48)(2,48)(2,62)])
}
Add(MouseEvent,8693800,819,14)
{
Point(doMouseDown)
Point(doMouseUp)
}
Add(MouseEvent,3815649,819,70)
{
Button=2
Point(doMouseDown)
Point(doMouseUp)
}
Add(If_else,16053643,749,70)
{
Op2=String(2)
link(onTrue,3815649:doClick,[])
}
Add(KeyEvent,3770417,350,567)
{
Code=175
}
Add(KeyEvent,5008070,350,525)
{
Code=174
}
Add(Hub,728118,672,63)
{
link(onEvent1,9909338:doCompare,[(718,69)(718,34)])
link(onEvent2,16053643:doCompare,[])
}
Add(If_else,14964953,833,378)
{
Type=2
Op2=String(50000)
link(onTrue,14142418:doData,[])
}
Add(MouseEvent,6455849,938,371)
{
link(Y,1192175:Value,[])
}
Add(Memory,1192175,952,329)
{
Default=String(5)
}
Add(DoData,14142418,882,378)
{
link(onEventData,6455849:doMove,[])
}
Add(If_else,13490003,833,462)
{
Type=1
Op2=String(20000)
link(onTrue,2307625:doData,[])
}
Add(MouseEvent,6060605,938,455)
{
link(Y,6244292:Value,[])
}
Add(Memory,6244292,952,413)
{
Default=String(-5)
}
Add(DoData,2307625,882,462)
{
link(onEventData,6060605:doMove,[])
}
Add(MouseEvent,11633653,343,336)
{
}
Add(If_else,4167190,259,343)
{
Type=2
Op2=String(60000)
link(onTrue,3606698:doData,[])
}
Add(If_else,13451886,259,385)
{
Type=1
Op2=String(500)
link(onTrue,8847978:doData,[])
}
Add(DoData,3606698,301,343)
{
Data=String(10)
link(onEventData,11633653:doMove,[])
}
Add(DoData,8847978,301,385)
{
Data=String(-10)
link(onEventData,10926094:doMove,[])
}
Add(MouseEvent,10926094,343,378)
{
}
Add(MouseEvent,16383161,343,154)
{
}
Add(If_else,14532177,259,161)
{
Type=2
Op2=String(35000)
link(onTrue,16466627:doData,[])
}
Add(If_else,9218462,259,203)
{
Type=1
Op2=String(30000)
link(onTrue,11326385:doData,[])
}
Add(DoData,16466627,301,161)
{
Data=String(1)
link(onEventData,16383161:doMove,[])
}
Add(DoData,11326385,301,203)
{
Data=String(-1)
link(onEventData,5658714:doMove,[])
}
Add(MouseEvent,5658714,343,196)
{
}
Add(If_else,9572428,840,553)
{
Type=2
Op2=String(60000)
link(onTrue,5294643:doData,[])
}
Add(MouseEvent,7406630,945,546)
{
link(Y,10308234:Value,[])
}
Add(Memory,10308234,959,504)
{
Default=String(10)
}
Add(DoData,5294643,889,553)
{
link(onEventData,7406630:doMove,[])
}
Add(If_else,16365319,840,637)
{
Type=1
Op2=String(500)
link(onTrue,15670480:doData,[])
}
Add(MouseEvent,2592700,945,630)
{
link(Y,4142636:Value,[])
}
Add(Memory,4142636,959,588)
{
Default=String(-10)
}
Add(DoData,15670480,889,637)
{
link(onEventData,2592700:doMove,[])
}
Add(ChangeMon,13078662,630,63)
{
link(onData,728118:doEvent1,[])
}
Add(Memory,15578986,420,28)
{
link(onData,3734208:doEvent1,[])
}
Add(LineBreakEx,1790622,441,77)
{
Caption="cod"
Type=3
link(_Data,15578986:Value,[(447,69)(426,69)])
}
Add(Memory,5589877,91,672)
{
Point(Data)
link(onData,4276930:doCompare,[(125,678)(125,755)])
link(Data,8302303:getVar,[])
}
Add(LineBreak,14783857,35,672)
{
Caption="up-dow"
link(Out,5589877:doValue,[])
Primary=[3764778,497,-595]
}
Add(MouseEvent,11664820,392,749)
{
WheelDelta=-15
Point(doWheel)
}
Add(If_else,8522641,308,756)
{
Type=2
Op2=String(50000)
link(onTrue,12240174:doData,[])
}
Add(If_else,849305,308,798)
{
Type=1
Op2=String(20000)
link(onTrue,12070563:doData,[])
}
Add(Hub,11898692,217,749)
{
OutCount=6
link(onEvent1,10608725:doCompare,[(269,755)(269,671)])
link(onEvent2,10888831:doCompare,[(286,762)(286,713)])
link(onEvent3,8522641:doCompare,[(296,769)(296,762)])
link(onEvent4,849305:doCompare,[(269,776)(269,804)])
link(onEvent5,5161367:doCompare,[(260,783)(260,853)])
link(onEvent6,7059297:doCompare,[(248,790)(248,895)])
}
Add(DoData,12240174,350,756)
{
Data=String(5)
link(onEventData,11664820:doWheel,[(387,762)(387,769)])
}
Add(DoData,12070563,350,798)
{
Data=String(-5)
link(onEventData,10328417:doWheel,[(387,804)(387,811)])
}
Add(MouseEvent,10328417,392,791)
{
WheelDelta=15
Point(doWheel)
}
Add(MouseEvent,10242140,392,840)
{
WheelDelta=-30
Point(doWheel)
}
Add(If_else,5161367,308,847)
{
Type=2
Op2=String(60000)
link(onTrue,7342727:doData,[])
}
Add(If_else,7059297,308,889)
{
Type=1
Op2=String(500)
link(onTrue,10099015:doData,[])
}
Add(DoData,7342727,350,847)
{
Data=String(10)
link(onEventData,10242140:doWheel,[(387,853)(387,860)])
}
Add(DoData,10099015,350,889)
{
Data=String(-10)
link(onEventData,3186203:doWheel,[(387,895)(387,902)])
}
Add(MouseEvent,3186203,392,882)
{
WheelDelta=30
Point(doWheel)
}
Add(If_else,10608725,308,665)
{
Type=2
Op2=String(35000)
link(onTrue,14942503:doData,[])
}
Add(If_else,10888831,308,707)
{
Type=1
Op2=String(30000)
link(onTrue,6095249:doData,[])
}
Add(DoData,14942503,350,665)
{
Data=String(1)
link(onEventData,830887:doWheel,[(387,671)(387,678)])
}
Add(DoData,6095249,350,707)
{
Data=String(-1)
link(onEventData,11221849:doWheel,[(387,713)(387,720)])
}
Add(MouseEvent,830887,392,658)
{
WheelDelta=-5
Point(doWheel)
}
Add(MouseEvent,11221849,392,700)
{
WheelDelta=5
Point(doWheel)
}
Add(If_else,4276930,175,749)
{
Op2=String(128)
link(onTrue,11898692:doEvent1,[])
link(Op1,7731302:getVar,[])
}
Add(LineBreakEx,7731302,175,728)
{
Caption="cod"
Type=2
}
Add(If_else,1049715,140,525)
{
Op2=String(128)
link(onTrue,13592478:doEvent1,[])
link(Op1,3805273:getVar,[])
}
Add(LineBreakEx,3805273,140,504)
{
Caption="cod"
Type=2
}
Add(InfoTip,9217220,28,623)
{
Info=#9:Scrolling|36:Start(pause) + Right Stick (up-down)|
Width=428
Height=305
}
Add(InfoTip,10394773,28,469)
{
Info=#7:Volume |22:Start(pause) + L2 - R2|
Width=365
Height=137
}
Add(InfoTip,8440365,623,0)
{
Info=#16: LClik and RClik|13: X O|
Width=246
Height=109
}
Add(InfoTip,3126181,35,112)
{
Info=#6:Y axis|10:Left Stick|
Width=351
Height=312
}
Add(InfoTip,15101586,490,133)
{
Info=#6:X axis|10:Left Stick|
Width=519
Height=543
}
Add(LineBreakEx,8302303,91,651)
{
Caption="Y"
Type=2
}
Add(If_else,868121,616,210)
{
Op2=String(128)
link(onFalse,5892551:doEvent1,[(660,223)(660,216)])
link(Op1,7516975:getVar,[])
}
Add(LineBreakEx,7516975,616,182)
{
Caption="cod"
Type=2
}

карма: 0

0
Ответов: 697
Рейтинг: 143
#8: 2021-12-09 16:40:16 ЛС | профиль | цитата
egorhay писал(а):
Ориентируюсь именно на работу геймпадом(джостиком) в Windows. На просторах интернета не нашел подходящего ПО для минимального и простого управления.

Add(GamePort,14863033,420,42)
{
link(onButtons,9813484:doBits,[])
}
Add(Timer,13303653,280,42)
{
Interval=10
link(onTimer,12480265:doEvent1,[])
}
Add(IntToBits,9813484,504,42)
{
Count=16
Data_0=Integer(0)
Data_1=Integer(1)
ZeroBits=1
link(onBit1,8693800:doClick,[])
link(onBit2,1046672:doClick,[])
link(onBit7,6116434:doData,[])
link(onBit8,9512246:doData,[])
}
Add(MouseEvent,15044882,413,196)
{
Point(doPosition)
link(X,2530769:Result,[])
link(Y,1500430:Result,[])
}
Add(Hub,12480265,329,42)
{
OutCount=5
link(onEvent1,14863033:doCheck,[])
link(onEvent2,2530769:doCalc,[(410,55)(410,104)])
link(onEvent3,1500430:doCalc,[(403,62)(403,153)])
link(onEvent4,15044882:doMove,[(368,69)(368,209)])
link(onEvent5,4138094:doCalc,[(361,76)(361,244)])
}
Add(MainForm,7759773,42,49)
{
Width=530
Height=149
Visible=1
Icon=[ZIPFE67000078DAED5C0F44655918FFF2786FB299BB5AADA1D59B8856444444BC15314426222286562B86560C113563C6C630C41031CC8A188618226278794444C430C47811BB22DE8814D7BB7BCE7DDFDDFDFABA7FCEFDB7539C6FFC9AAFF7CE3DF7DCDF39E73BDFF79D7303A813FF1E3E04F1F33EFCFD1BC08F00F0B380F808FE84DAE7B6FC0AF0C3773538625996868686868686868686868686868686863202A44F6055E048E05CA0283005B75FB20293022581138103813702BD7E1785E0AF45E09DBCC403EB02F5B794BB06818F3ECF2639ED8CC19FEC83539FFA1DEC0A34DE32EE647BF7149EED526034027F0F709ED2BAD690D37B02AFD9779F049A6F09774D02FBA4EDA6C01CCEB502CEDF4BF6FD6808FEDA042AE4FABFD0FE7199C2BA9D725FB00D379DBB03C6CD2397721D38269C72928F5645FE36C875C701E36A84F5952CDF7E43B9BBC738F1E28E72FD99D9A920FE3A59FD3D0AEDE2735D8ED7AE1BC65D33E3423EDB98C2753D6C7C0C07F0B74CCAAE86685FBFC019B956AE3BDD3798BBD110D7BF22D71603F83B2465FB42B6B397D9CDB30875242D2D6897E97A3A12A10ECA7DA3077F0DAC5C36427BBBD10F75EA91F37AE00671371CB12EBAE6143CF86B676B6954E9401BE8EB43A52CC3AC1F651B8662D4476388090FFE7A4999FD98ED6FC558CF62B66306B9EC4E01725E2EBAC41497B8C6C59197A4BE590FFEFA58EC92C4FC3954F0F1D3C429AE6D716591D439AFC0DF4E8231E6F237E26E2DC1984865FC75B2782C69DF755A6005FDA2BD14B08BF5CF610C95A4D031F0D8833FBA4E1F81162A6B849B710FFEEA99CDCD68DAFE15BA260DF8F8CF345FD59A72EE8DAE9D51F35F6D787DDA790B1ABF74F9F0B743CA3D48A92D8F589CE2F8D94F42D43183B90A8BD99CC914DA5BCFF24C0D3EFCBD25E56652684B176B0B47509F35A31FE9B7EE6E62EE2429E9E6EB820F7F93A4ECFB1462824396A7D9637EF6B14F4E29CBE228C74EEFB9F4492941FB3D41EAFD10C05F177B96A464C8659C38FB4F832EDF4D7ACC59CADB0CE3F605E3F1510A6BEF4C007F19669B92F2A38A21F9FB1210C33F5688134A09B59DDAD99E90F9E7A4F628E91CEDF059932987540CB6D678EDF935B21C52DC39DCC962C18C027FD3E49A7729F0E7E76B78F1D71A223744F3B846CC76CF72DBA7C09F2BE731E5136B878CB30AE47E2BCCCE9CF98CCD73FC3D28D7799940BB4B6E735161FFF228461E3A28FE56B17F6E7B07BBE4FB171EF7794FCA6CC46C73235B8F5A42F047E3E55721EE99411B3BCAD61E69AFB61847EF719D5D619FEF78F86FE3ACDC0AB987B4A9EBECFB41C243943CCC98573E5471FF9CFA8C4173B809DCCF799C323F6326C0F77D19D0379B8AB92B67FC3E216328AC2DA7F66436247F19160BFBCDE101962B77C316DAF2AC4FFC70A01007372870B886E3BDD9C5AF1E0C11B3513FAE33247F52DE90EB977DE2F733171E36E1EA1E08B54759F4E95708A67DD6043719C17B9864ADF8C0E2BF6E176E557DEA51BF5CA8227F030AEBF03A9BE73D6C0CCF878C6F93940C5B3F8F43E479E8189F8FC85F86CDCB419FF549FEEF7566EE2D9B5B694A2FAE495D641E4EA0DD75D6A4762C53F0C995D379DF1E913F29AF7D9E9DEE97EC2AE62F0E52E46E82C51E6E63BD0FAE9EC778121067BB3E5708FEFA7CE2A6072C67E4256162873872E0616FBDD654AF7D8AFDA0383BE4F95DBA873FC67279341795F5C95B25BDAFE7263B8C9B7701F3C96D6DE862F14B6302FCBDF0E9531AA72CBA5C6B30FEE753E4AF8FF81CC71E798A56D29E3397394ECF0AAD7B06E9E1F86B6776A5D1C71F96F3A31FFB719C717786B6394D71F6559CB9D08FF9D543122F66B08CE1B25E529F6B3821FE00AE9E159E6279CB8F8A31C1B8426E5FF5AC868AAFD808D7F759BA03E200A7DC898F3D8AC2DFB48F0DAB67E39EE338C0EF1B73F1C1836042F07E538F625EDB9155526EC9AFE208FC3505F944E87B2DA1CF7A88F6632E20073704FEFB4941980A88C18ED97AE0954F6F86AB6768BB13E68FC71AEB09D8AA1ED6E663503BA7F1858DC3A100DBBD86B1DD80E2B3ED05353C227FBD70FDDD99A8E773DA586C7308EA7B8EF52C17780E6AE7B4BDEA5A091B6346E4CFCD7FBA44BB11A6FD4D70751FF304C2EF53C5ADC3C05C023FA3B8A472710CFE32707DDF9FC63AE3E0FF3E5796F9B99710FD7C5ED831DC8CF1C4A687CD3555734031F893F20C82DF79DA40DFB087B4A98DE543783C13D5865EB2F8BA9FC5DEF3A0F6AE96F27E674CFE5A5DECE06584B57336219F79CC23EF5D09B8FF67D6EE99FF893F1E6B2EE1DECA9C623F5B5836491987EBEFEBB9CDCF2DE4A995F17E0621F63A13E06F9AB5ED043969C4F93A80F37C8B3C9789F3BA9052ECD605D7F7904E318F3042F81970D94308F3AE5012FC65E0EA3905DA8F4B0A7E4D2BC62C499CDBFDE0E273B4B158DB991F9F5CDA7C18362E4F803F87C309B87AB690DBE379B4E71D2447B21A33E6F0B3FF9378AF161C732F99AFC8FB7A11229CDD4C883F6EC3F7E1DBBEABA08A739C2391CF08A6C01FCD49ABE6639C982ACE3B33D27F79A378BF0D5C671AE23E648AFCD1DC919C3FCB387F3E937CF93224FF7E413BE67977D16FA9A0FE1ADB91E47954FDF746343434343434343434343434343434C200056E9E5EAC697552B7FFE48F558505802AE4A56ECA5D00130CA95F401EE0A22527F54A9F21F44246EAE579A157169E49BD68E5845EABF499B528F5F282D033D67380B2551137A8E6AC12C09175216E601A355DA679C50D6DBD2AF5424DB7F3550BA81701EA2CD46B529275FEA7574485792BEFE8178629DAFADCD62BB98AB8D66E8F55CE94C1D18BCFCAC59ABE20F4A38AAD5F883B1E6D8B4F7235FD6B49FCB49F5794D91665846E166AE5ABB65E29D6957F795B15FC98F96257AE5C67D4F4A790AB40CE14BAF8FD8E616673A6E0B36A647392075BBF6B2C5AD6D73B1742B7EEE6855EAECC0AFEAD2CD1FF306CFD77A92F1A395B97FDF51C72F2DAB2D44B6094EBAAB99AFE54DCB99A3B92FA7659D43C9FDB96BA4D6EC12849BDBC601AA20B3252AFE42FF2A6644BEA994A415463EB17707FC1CA88DEB77541DAD39A6ECA8E283ABA1804E53B795BAF131DF953D1D6ABF07DAD23E57545CCA74954EC3D819A6ECA7AF237725E10FD1F85B071AD]
link(onCreate,11563942:doAddTrayIcon,[])
}
Add(TrayIcon,11563942,98,42)
{
Point(doAddTrayIcon)
link(onClick,6394127:doPopupHere,[])
}
Add(PopupMenu,6394127,154,42)
{
Menu=#7:Закрыть|
link(onClick,13613023:doEvent,[])
}
Add(IndexToChanel,13613023,210,42)
{
Count=1
link(onEvent1,7759773:doClose,[(249,48)(249,34)(32,34)(32,76)])
}
Add(KeyEvent,3770417,609,91)
{
Code=175
}
Add(KeyEvent,5008070,700,84)
{
Code=174
}
Add(MathParse,2530769,420,98)
{
DataCount=1
MathStr="(%1 - 32767)/ 10000"
link(X1,14863033:X,[])
}
Add(MathParse,1500430,427,147)
{
DataCount=1
MathStr="(%1 - 32767)/ 10000"
link(X1,14863033:Y,[])
}
Add(MouseEvent,8693800,791,42)
{
}
Add(MouseEvent,1046672,749,49)
{
Button=2
}
Add(DoData,6116434,651,84)
{
Data=String(20)
link(onEventData,5008070:doPress,[])
}
Add(DoData,9512246,560,91)
{
Data=String(-20)
link(onEventData,3770417:doPress,[])
}
Add(MathParse,4138094,462,238)
{
DataCount=1
MathStr="(%1 - 32767)/ 5000"
link(onResult,7998314:doWheel,[])
link(X1,14863033:Z,[(468,89)(440,89)])
}
Add(MouseEvent,7998314,511,224)
{
WheelDelta=0
Point(doWheel)
}


Редактировалось 2 раз(а), последний 2021-12-09 16:56:37
карма: 15

0
Ответов: 35
Рейтинг: 0
#9: 2021-12-17 09:56:29 ЛС | профиль | цитата
Gunta писал(а):

egorhay писал(а):
Ориентируюсь именно на работу геймпадом(джостиком) в Windows. На просторах интернета не нашел подходящего ПО для минимального и простого управления.

Add(GamePort,14863033,420,42)
{
link(onButtons,9813484:doBits,[])
}
Add(Timer,13303653,280,42)
{
Interval=10
link(onTimer,12480265:doEvent1,[])
}
Add(IntToBits,9813484,504,42)
{
Count=16
Data_0=Integer(0)
Data_1=Integer(1)
ZeroBits=1
link(onBit1,8693800:doClick,[])
link(onBit2,1046672:doClick,[])
link(onBit7,6116434:doData,[])
link(onBit8,9512246:doData,[])
}
Add(MouseEvent,15044882,413,196)
{
Point(doPosition)
link(X,2530769:Result,[])
link(Y,1500430:Result,[])
}
Add(Hub,12480265,329,42)
{
OutCount=5
link(onEvent1,14863033:doCheck,[])
link(onEvent2,2530769:doCalc,[(410,55)(410,104)])
link(onEvent3,1500430:doCalc,[(403,62)(403,153)])
link(onEvent4,15044882:doMove,[(368,69)(368,209)])
link(onEvent5,4138094:doCalc,[(361,76)(361,244)])
}
Add(MainForm,7759773,42,49)
{
Width=530
Height=149
Visible=1
Icon=[ZIPFE67000078DAED5C0F44655918FFF2786FB299BB5AADA1D59B8856444444BC15314426222286562B86560C113563C6C630C41031CC8A188618226278794444C430C47811BB22DE8814D7BB7BCE7DDFDDFDFABA7FCEFDB7539C6FFC9AAFF7CE3DF7DCDF39E73BDFF79D7303A813FF1E3E04F1F33EFCFD1BC08F00F0B380F808FE84DAE7B6FC0AF0C3773538625996868686868686868686868686868686863202A44F6055E048E05CA0283005B75FB20293022581138103813702BD7E1785E0AF45E09DBCC403EB02F5B794BB06818F3ECF2639ED8CC19FEC83539FFA1DEC0A34DE32EE647BF7149EED526034027F0F709ED2BAD690D37B02AFD9779F049A6F09774D02FBA4EDA6C01CCEB502CEDF4BF6FD6808FEDA042AE4FABFD0FE7199C2BA9D725FB00D379DBB03C6CD2397721D38269C72928F5645FE36C875C701E36A84F5952CDF7E43B9BBC738F1E28E72FD99D9A920FE3A59FD3D0AEDE2735D8ED7AE1BC65D33E3423EDB98C2753D6C7C0C07F0B74CCAAE86685FBFC019B956AE3BDD3798BBD110D7BF22D71603F83B2465FB42B6B397D9CDB30875242D2D6897E97A3A12A10ECA7DA3077F0DAC5C36427BBBD10F75EA91F37AE00671371CB12EBAE6143CF86B676B6954E9401BE8EB43A52CC3AC1F651B8662D4476388090FFE7A4999FD98ED6FC558CF62B66306B9EC4E01725E2EBAC41497B8C6C59197A4BE590FFEFA58EC92C4FC3954F0F1D3C429AE6D716591D439AFC0DF4E8231E6F237E26E2DC1984865FC75B2782C69DF755A6005FDA2BD14B08BF5CF610C95A4D031F0D8833FBA4E1F81162A6B849B710FFEEA99CDCD68DAFE15BA260DF8F8CF345FD59A72EE8DAE9D51F35F6D787DDA790B1ABF74F9F0B743CA3D48A92D8F589CE2F8D94F42D43183B90A8BD99CC914DA5BCFF24C0D3EFCBD25E56652684B176B0B47509F35A31FE9B7EE6E62EE2429E9E6EB820F7F93A4ECFB1462824396A7D9637EF6B14F4E29CBE228C74EEFB9F4492941FB3D41EAFD10C05F177B96A464C8659C38FB4F832EDF4D7ACC59CADB0CE3F605E3F1510A6BEF4C007F19669B92F2A38A21F9FB1210C33F5688134A09B59DDAD99E90F9E7A4F628E91CEDF059932987540CB6D678EDF935B21C52DC39DCC962C18C027FD3E49A7729F0E7E76B78F1D71A223744F3B846CC76CF72DBA7C09F2BE731E5136B878CB30AE47E2BCCCE9CF98CCD73FC3D28D7799940BB4B6E735161FFF228461E3A28FE56B17F6E7B07BBE4FB171EF7794FCA6CC46C73235B8F5A42F047E3E55721EE99411B3BCAD61E69AFB61847EF719D5D619FEF78F86FE3ACDC0AB987B4A9EBECFB41C243943CCC98573E5471FF9CFA8C4173B809DCCF799C323F6326C0F77D19D0379B8AB92B67FC3E216328AC2DA7F66436247F19160BFBCDE101962B77C316DAF2AC4FFC70A01007372870B886E3BDD9C5AF1E0C11B3513FAE33247F52DE90EB977DE2F733171E36E1EA1E08B54759F4E95708A67DD6043719C17B9864ADF8C0E2BF6E176E557DEA51BF5CA8227F030AEBF03A9BE73D6C0CCF878C6F93940C5B3F8F43E479E8189F8FC85F86CDCB419FF549FEEF7566EE2D9B5B694A2FAE495D641E4EA0DD75D6A4762C53F0C995D379DF1E913F29AF7D9E9DEE97EC2AE62F0E52E46E82C51E6E63BD0FAE9EC778121067BB3E5708FEFA7CE2A6072C67E4256162873872E0616FBDD654AF7D8AFDA0383BE4F95DBA873FC67279341795F5C95B25BDAFE7263B8C9B7701F3C96D6DE862F14B6302FCBDF0E9531AA72CBA5C6B30FEE753E4AF8FF81CC71E798A56D29E3397394ECF0AAD7B06E9E1F86B6776A5D1C71F96F3A31FFB719C717786B6394D71F6559CB9D08FF9D543122F66B08CE1B25E529F6B3821FE00AE9E159E6279CB8F8A31C1B8426E5FF5AC868AAFD808D7F759BA03E200A7DC898F3D8AC2DFB48F0DAB67E39EE338C0EF1B73F1C1836042F07E538F625EDB9155526EC9AFE208FC3505F944E87B2DA1CF7A88F6632E20073704FEFB4941980A88C18ED97AE0954F6F86AB6768BB13E68FC71AEB09D8AA1ED6E663503BA7F1858DC3A100DBBD86B1DD80E2B3ED05353C227FBD70FDDD99A8E773DA586C7308EA7B8EF52C17780E6AE7B4BDEA5A091B6346E4CFCD7FBA44BB11A6FD4D70751FF304C2EF53C5ADC3C05C023FA3B8A472710CFE32707DDF9FC63AE3E0FF3E5796F9B99710FD7C5ED831DC8CF1C4A687CD3555734031F893F20C82DF79DA40DFB087B4A98DE543783C13D5865EB2F8BA9FC5DEF3A0F6AE96F27E674CFE5A5DECE06584B57336219F79CC23EF5D09B8FF67D6EE99FF893F1E6B2EE1DECA9C623F5B5836491987EBEFEBB9CDCF2DE4A995F17E0621F63A13E06F9AB5ED043969C4F93A80F37C8B3C9789F3BA9052ECD605D7F7904E318F3042F81970D94308F3AE5012FC65E0EA3905DA8F4B0A7E4D2BC62C499CDBFDE0E273B4B158DB991F9F5CDA7C18362E4F803F87C309B87AB690DBE379B4E71D2447B21A33E6F0B3FF9378AF161C732F99AFC8FB7A11229CDD4C883F6EC3F7E1DBBEABA08A739C2391CF08A6C01FCD49ABE6639C982ACE3B33D27F79A378BF0D5C671AE23E648AFCD1DC919C3FCB387F3E937CF93224FF7E413BE67977D16FA9A0FE1ADB91E47954FDF746343434343434343434343434343434C200056E9E5EAC697552B7FFE48F558505802AE4A56ECA5D00130CA95F401EE0A22527F54A9F21F44246EAE579A157169E49BD68E5845EABF499B528F5F282D033D67380B2551137A8E6AC12C09175216E601A355DA679C50D6DBD2AF5424DB7F3550BA81701EA2CD46B529275FEA7574485792BEFE8178629DAFADCD62BB98AB8D66E8F55CE94C1D18BCFCAC59ABE20F4A38AAD5F883B1E6D8B4F7235FD6B49FCB49F5794D91665846E166AE5ABB65E29D6957F795B15FC98F96257AE5C67D4F4A790AB40CE14BAF8FD8E616673A6E0B36A647392075BBF6B2C5AD6D73B1742B7EEE6855EAECC0AFEAD2CD1FF306CFD77A92F1A395B97FDF51C72F2DAB2D44B6094EBAAB99AFE54DCB99A3B92FA7659D43C9FDB96BA4D6EC12849BDBC601AA20B3252AFE42FF2A6644BEA994A415463EB17707FC1CA88DEB77541DAD39A6ECA8E283ABA1804E53B795BAF131DF953D1D6ABF07DAD23E57545CCA74954EC3D819A6ECA7AF237725E10FD1F85B071AD]
link(onCreate,11563942:doAddTrayIcon,[])
}
Add(TrayIcon,11563942,98,42)
{
Point(doAddTrayIcon)
link(onClick,6394127:doPopupHere,[])
}
Add(PopupMenu,6394127,154,42)
{
Menu=#7:Закрыть
link(onClick,13613023:doEvent,[])
}
Add(IndexToChanel,13613023,210,42)
{
Count=1
link(onEvent1,7759773:doClose,[(249,48)(249,34)(32,34)(32,76)])
}
Add(KeyEvent,3770417,609,91)
{
Code=175
}
Add(KeyEvent,5008070,700,84)
{
Code=174
}
Add(MathParse,2530769,420,98)
{
DataCount=1
MathStr="(%1 - 32767)/ 10000"
link(X1,14863033:X,[])
}
Add(MathParse,1500430,427,147)
{
DataCount=1
MathStr="(%1 - 32767)/ 10000"
link(X1,14863033:Y,[])
}
Add(MouseEvent,8693800,791,42)
{
}
Add(MouseEvent,1046672,749,49)
{
Button=2
}
Add(DoData,6116434,651,84)
{
Data=String(20)
link(onEventData,5008070:doPress,[])
}
Add(DoData,9512246,560,91)
{
Data=String(-20)
link(onEventData,3770417:doPress,[])
}
Add(MathParse,4138094,462,238)
{
DataCount=1
MathStr="(%1 - 32767)/ 5000"
link(onResult,7998314:doWheel,[])
link(X1,14863033:Z,[(468,89)(440,89)])
}
Add(MouseEvent,7998314,511,224)
{
WheelDelta=0
Point(doWheel)
}


Редактировалось 2 раз(а), последний 2021-12-09 16:56:37

|
интересная программа только нету защиты от дребезга, то есть нажал кнопку отпуская её может получить несколько нажатий
карма: 0

0
Ответов: 697
Рейтинг: 143
#10: 2021-12-26 15:45:09 ЛС | профиль | цитата
prostov писал(а):
только нету защиты от дребезга, то есть нажал кнопку отпуская её может получить несколько нажатий

Надо добавить компонент ChangeMon и "дребезг" пропадёт.

Add(GamePort,14863033,679,126)
{
link(onButtons,15158127:doData,[])
}
Add(Timer,13303653,539,126)
{
Interval=10
link(onTimer,12480265:doEvent1,[])
}
Add(IntToBits,9813484,805,126)
{
Count=16
Data_0=Integer(0)
Data_1=Integer(1)
ZeroBits=1
link(onBit1,8693800:doClick,[])
link(onBit2,1046672:doClick,[])
link(onBit7,6116434:doData,[])
link(onBit8,9512246:doData,[])
}
Add(MouseEvent,15044882,672,280)
{
Point(doPosition)
link(X,2530769:Result,[])
link(Y,1500430:Result,[])
}
Add(Hub,12480265,588,126)
{
OutCount=5
link(onEvent1,14863033:doCheck,[])
link(onEvent2,2530769:doCalc,[(669,139)(669,188)])
link(onEvent3,1500430:doCalc,[(662,146)(662,237)])
link(onEvent4,15044882:doMove,[(627,153)(627,293)])
link(onEvent5,4138094:doCalc,[(620,160)(620,328)])
}
Add(MainForm,7759773,301,133)
{
Width=530
Height=149
Visible=1
Icon=[ZIPFE67000078DAED5C0F44655918FFF2786FB299BB5AADA1D59B8856444444BC15314426222286562B86560C113563C6C630C41031CC8A188618226278794444C430C47811BB22DE8814D7BB7BCE7DDFDDFDFABA7FCEFDB7539C6FFC9AAFF7CE3DF7DCDF39E73BDFF79D7303A813FF1E3E04F1F33EFCFD1BC08F00F0B380F808FE84DAE7B6FC0AF0C3773538625996868686868686868686868686868686863202A44F6055E048E05CA0283005B75FB20293022581138103813702BD7E1785E0AF45E09DBCC403EB02F5B794BB06818F3ECF2639ED8CC19FEC83539FFA1DEC0A34DE32EE647BF7149EED526034027F0F709ED2BAD690D37B02AFD9779F049A6F09774D02FBA4EDA6C01CCEB502CEDF4BF6FD6808FEDA042AE4FABFD0FE7199C2BA9D725FB00D379DBB03C6CD2397721D38269C72928F5645FE36C875C701E36A84F5952CDF7E43B9BBC738F1E28E72FD99D9A920FE3A59FD3D0AEDE2735D8ED7AE1BC65D33E3423EDB98C2753D6C7C0C07F0B74CCAAE86685FBFC019B956AE3BDD3798BBD110D7BF22D71603F83B2465FB42B6B397D9CDB30875242D2D6897E97A3A12A10ECA7DA3077F0DAC5C36427BBBD10F75EA91F37AE00671371CB12EBAE6143CF86B676B6954E9401BE8EB43A52CC3AC1F651B8662D4476388090FFE7A4999FD98ED6FC558CF62B66306B9EC4E01725E2EBAC41497B8C6C59197A4BE590FFEFA58EC92C4FC3954F0F1D3C429AE6D716591D439AFC0DF4E8231E6F237E26E2DC1984865FC75B2782C69DF755A6005FDA2BD14B08BF5CF610C95A4D031F0D8833FBA4E1F81162A6B849B710FFEEA99CDCD68DAFE15BA260DF8F8CF345FD59A72EE8DAE9D51F35F6D787DDA790B1ABF74F9F0B743CA3D48A92D8F589CE2F8D94F42D43183B90A8BD99CC914DA5BCFF24C0D3EFCBD25E56652684B176B0B47509F35A31FE9B7EE6E62EE2429E9E6EB820F7F93A4ECFB1462824396A7D9637EF6B14F4E29CBE228C74EEFB9F4492941FB3D41EAFD10C05F177B96A464C8659C38FB4F832EDF4D7ACC59CADB0CE3F605E3F1510A6BEF4C007F19669B92F2A38A21F9FB1210C33F5688134A09B59DDAD99E90F9E7A4F628E91CEDF059932987540CB6D678EDF935B21C52DC39DCC962C18C027FD3E49A7729F0E7E76B78F1D71A223744F3B846CC76CF72DBA7C09F2BE731E5136B878CB30AE47E2BCCCE9CF98CCD73FC3D28D7799940BB4B6E735161FFF228461E3A28FE56B17F6E7B07BBE4FB171EF7794FCA6CC46C73235B8F5A42F047E3E55721EE99411B3BCAD61E69AFB61847EF719D5D619FEF78F86FE3ACDC0AB987B4A9EBECFB41C243943CCC98573E5471FF9CFA8C4173B809DCCF799C323F6326C0F77D19D0379B8AB92B67FC3E216328AC2DA7F66436247F19160BFBCDE101962B77C316DAF2AC4FFC70A01007372870B886E3BDD9C5AF1E0C11B3513FAE33247F52DE90EB977DE2F733171E36E1EA1E08B54759F4E95708A67DD6043719C17B9864ADF8C0E2BF6E176E557DEA51BF5CA8227F030AEBF03A9BE73D6C0CCF878C6F93940C5B3F8F43E479E8189F8FC85F86CDCB419FF549FEEF7566EE2D9B5B694A2FAE495D641E4EA0DD75D6A4762C53F0C995D379DF1E913F29AF7D9E9DEE97EC2AE62F0E52E46E82C51E6E63BD0FAE9EC778121067BB3E5708FEFA7CE2A6072C67E4256162873872E0616FBDD654AF7D8AFDA0383BE4F95DBA873FC67279341795F5C95B25BDAFE7263B8C9B7701F3C96D6DE862F14B6302FCBDF0E9531AA72CBA5C6B30FEE753E4AF8FF81CC71E798A56D29E3397394ECF0AAD7B06E9E1F86B6776A5D1C71F96F3A31FFB719C717786B6394D71F6559CB9D08FF9D543122F66B08CE1B25E529F6B3821FE00AE9E159E6279CB8F8A31C1B8426E5FF5AC868AAFD808D7F759BA03E200A7DC898F3D8AC2DFB48F0DAB67E39EE338C0EF1B73F1C1836042F07E538F625EDB9155526EC9AFE208FC3505F944E87B2DA1CF7A88F6632E20073704FEFB4941980A88C18ED97AE0954F6F86AB6768BB13E68FC71AEB09D8AA1ED6E663503BA7F1858DC3A100DBBD86B1DD80E2B3ED05353C227FBD70FDDD99A8E773DA586C7308EA7B8EF52C17780E6AE7B4BDEA5A091B6346E4CFCD7FBA44BB11A6FD4D70751FF304C2EF53C5ADC3C05C023FA3B8A472710CFE32707DDF9FC63AE3E0FF3E5796F9B99710FD7C5ED831DC8CF1C4A687CD3555734031F893F20C82DF79DA40DFB087B4A98DE543783C13D5865EB2F8BA9FC5DEF3A0F6AE96F27E674CFE5A5DECE06584B57336219F79CC23EF5D09B8FF67D6EE99FF893F1E6B2EE1DECA9C623F5B5836491987EBEFEBB9CDCF2DE4A995F17E0621F63A13E06F9AB5ED043969C4F93A80F37C8B3C9789F3BA9052ECD605D7F7904E318F3042F81970D94308F3AE5012FC65E0EA3905DA8F4B0A7E4D2BC62C499CDBFDE0E273B4B158DB991F9F5CDA7C18362E4F803F87C309B87AB690DBE379B4E71D2447B21A33E6F0B3FF9378AF161C732F99AFC8FB7A11229CDD4C883F6EC3F7E1DBBEABA08A739C2391CF08A6C01FCD49ABE6639C982ACE3B33D27F79A378BF0D5C671AE23E648AFCD1DC919C3FCB387F3E937CF93224FF7E413BE67977D16FA9A0FE1ADB91E47954FDF746343434343434343434343434343434C200056E9E5EAC697552B7FFE48F558505802AE4A56ECA5D00130CA95F401EE0A22527F54A9F21F44246EAE579A157169E49BD68E5845EABF499B528F5F282D033D67380B2551137A8E6AC12C09175216E601A355DA679C50D6DBD2AF5424DB7F3550BA81701EA2CD46B529275FEA7574485792BEFE8178629DAFADCD62BB98AB8D66E8F55CE94C1D18BCFCAC59ABE20F4A38AAD5F883B1E6D8B4F7235FD6B49FCB49F5794D91665846E166AE5ABB65E29D6957F795B15FC98F96257AE5C67D4F4A790AB40CE14BAF8FD8E616673A6E0B36A647392075BBF6B2C5AD6D73B1742B7EEE6855EAECC0AFEAD2CD1FF306CFD77A92F1A395B97FDF51C72F2DAB2D44B6094EBAAB99AFE54DCB99A3B92FA7659D43C9FDB96BA4D6EC12849BDBC601AA20B3252AFE42FF2A6644BEA994A415463EB17707FC1CA88DEB77541DAD39A6ECA8E283ABA1804E53B795BAF131DF953D1D6ABF07DAD23E57545CCA74954EC3D819A6ECA7AF237725E10FD1F85B071AD]
link(onCreate,11563942:doAddTrayIcon,[])
}
Add(TrayIcon,11563942,357,126)
{
Point(doAddTrayIcon)
link(onClick,6394127:doPopupHere,[])
}
Add(PopupMenu,6394127,413,126)
{
Menu=#7:Закрыть|
link(onClick,13613023:doEvent,[])
}
Add(IndexToChanel,13613023,469,126)
{
Count=1
link(onEvent1,7759773:doClose,[(508,132)(508,118)(291,118)(291,160)])
}
Add(KeyEvent,3770417,910,175)
{
Code=175
}
Add(KeyEvent,5008070,1001,168)
{
Code=174
}
Add(MathParse,2530769,679,182)
{
DataCount=1
MathStr="(%1 - 32767)/ 10000"
link(X1,14863033:X,[])
}
Add(MathParse,1500430,686,231)
{
DataCount=1
MathStr="(%1 - 32767)/ 10000"
link(X1,14863033:Y,[])
}
Add(MouseEvent,8693800,1092,126)
{
}
Add(MouseEvent,1046672,1050,133)
{
Button=2
}
Add(DoData,6116434,952,168)
{
Data=String(20)
link(onEventData,5008070:doPress,[])
}
Add(DoData,9512246,861,175)
{
Data=String(-20)
link(onEventData,3770417:doPress,[])
}
Add(MathParse,4138094,721,322)
{
DataCount=1
MathStr="(%1 - 32767)/ 5000"
link(onResult,7998314:doWheel,[])
link(X1,14863033:Z,[(727,173)(699,173)])
}
Add(MouseEvent,7998314,770,308)
{
WheelDelta=0
Point(doWheel)
}
Add(ChangeMon,15158127,749,126)
{
link(onData,9813484:doBits,[])
}

карма: 15

0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)