From 6ea53840c9cb9b99c41fbb4d87a1acac8c0889e5 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 1 Mar 2013 10:19:54 +0100 Subject: SLIMaxMgr III beta --- scripts/controls.lua | 61 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 5 deletions(-) (limited to 'scripts/controls.lua') diff --git a/scripts/controls.lua b/scripts/controls.lua index c8bf526..e0ce14d 100755 --- a/scripts/controls.lua +++ b/scripts/controls.lua @@ -1,8 +1,7 @@ --- SLIMax Mgr Lua Script v2 --- Copyright (c)2011-2013 by EK and Zappadoc - All Rights Reserved. --- Use this script to control any button or switch +-- SLIMax Mgr Lua Script v3 +-- Copyright (c)2012-2013 by Zappadoc - All Rights Reserved. --- param deviceIdx = (see mDeviceType table) +-- param deviceIdx = (see GetDeviceType() ) -- param ctrlType = type of ctrl, switch (0) or button (1) -- param ctrlPos = ctrl index, switch from 1 to 6 and button from 1 to n -- param value = ctrl value, button down (>0) or up (==0) and switch from 1 to 12 @@ -25,11 +24,12 @@ function controlsEvent(deviceIdx, ctrlType, ctrlPos, value, funcIndex) local loopFlag = false local dev = "" - dev = mDeviceType[deviceIdx] + dev = GetDeviceType(deviceIdx) if dev == nil then dev = "none" end -- switches and buttons -- ctrl change event local state = 0 + local ftecStr = "" local leftStr = "" local rightStr = "" @@ -98,7 +98,57 @@ function controlsEvent(deviceIdx, ctrlType, ctrlPos, value, funcIndex) state = 1 -- set timeout oldTcks = GetTicks() + delay + + elseif dev == "FANATEC" and IsSLIFunction("ospmethod", funcIndex) and mFanatecOSPFeedbackAllowed then + -- fanatec speedlimitermethod feedback + local info = GetContextInfo("ospmethod") + ftecStr = ftecStr.format("P%2d", info+1) + + -- set digits + SetFanatecDigits(ftecStr) + FanatecSendReport(0) + + state = 1 + -- set timeout + oldTcks = GetTicks() + delay + elseif dev == "FANATEC" and IsSLIFunction("shiftlightsmethod", funcIndex) and mFanatecShiftlightsFeedbackAllowed then + -- fanatec speedlimitermethod feedback + local info = GetContextInfo("shiftlightsmethod") + ftecStr = ftecStr.format("P%2d", info+1) + -- set digits + SetFanatecDigits(ftecStr) + FanatecSendReport(0) + + state = 1 + -- set timeout + oldTcks = GetTicks() + delay + elseif dev == "FANATEC" and IsSLIFunction("speedlimitermethod", funcIndex) and mFanatecSpeedLimiterFeedbackAllowed then + -- fanatec speedlimitermethod feedback + local info = GetContextInfo("speedlimitermethod") + ftecStr = ftecStr.format("P%2d", info+1) + + -- set digits + SetFanatecDigits(ftecStr) + FanatecSendReport(0) + + state = 1 + -- set timeout + oldTcks = GetTicks() + delay + + elseif IsSLIFunction("fanatecdigits", funcIndex) and mFanatecDigitsFeedbackAllowed then + -- fanatecdigits feedback + local info = GetContextInfo("fanatecdigits") + ftecStr = ftecStr.format("P%2d", info+1) + + -- set digits + SetFanatecDigits(ftecStr) + FanatecSendReport(0) + + state = 1 + -- set timeout + oldTcks = GetTicks() + delay + elseif IsSLIFunction("rightdigits", funcIndex) and mRightDigitsFeedbackAllowed then -- rightdigits feedback local info = false @@ -147,6 +197,7 @@ function controlsEvent(deviceIdx, ctrlType, ctrlPos, value, funcIndex) oldTcks = GetTicks() + delay end else + if ctrlType == 0 then -- switch -- cgit v1.2.3