From 1ad1efb122971563299d626e9210d3943e22e70a Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Mon, 18 Nov 2013 20:57:10 +0100 Subject: [gugus] controls : LCD up/down in rF/rF2 {WIP} --- scripts/gugus/controls.lua | 91 ++++++++++++++++++++++++++++++++++++++++++++++ scripts/slipro_gus.lua | 1 + 2 files changed, 92 insertions(+) create mode 100644 scripts/gugus/controls.lua diff --git a/scripts/gugus/controls.lua b/scripts/gugus/controls.lua new file mode 100644 index 0000000..fc4aa7e --- /dev/null +++ b/scripts/gugus/controls.lua @@ -0,0 +1,91 @@ + +--- +mLCDup = 10 +mLCDdown = 9 +mKeyDelay = 100 + +-- +-- rFactor +-- +mRFactorLCD_keys = { + "H", -- std + "J", -- standings + "K", -- pit + "L", -- vehicle + "Y", -- aids + "I", -- extra + "O" -- race +} +mRFactorLCD_state = 0 + +-- +-- rFactor2 +-- +mRFactor2LCD_keys = { + "6", -- std + "7", -- standings + "8", -- pit + "9", -- vehicle + "]", -- aids + "0", -- extra + "-", -- race + "=" -- penalities +} +mRFactor2LCD_state = 0 + +function custom_controlsEvent(deviceType, ctrlType, ctrlPos, value, funcIndex, targetDevice) + + -- print ( string.format("[%s] %s:%s = %s => %s (%s)", deviceType, ctrlType, ctrlPos, value, funcIndex, targetDevice) ) + + if funcIndex == -1 then + if ctrlType == 1 and ( ctrlPos == mLCDup or ctrlPos == mLCDdown ) and value == 0 then + local Key = nil + --if ctrlPos == mLCDup then + -- print ( " + LCD up") + --else + -- print ( " + LCD down") + --end + local sim = GetContextInfo("simulation") + if sim == "rFactor2.exe" or sim == "rFactor.exe" then + if sim == "rFactor2.exe" then + + --print ( " >> rF2 :" , mRFactor2LCD_state) + + if ctrlPos == mLCDup then + mRFactor2LCD_state = mRFactor2LCD_state + 1 + elseif ctrlPos == mLCDdown then + mRFactor2LCD_state = mRFactor2LCD_state - 1 + end + + mRFactor2LCD_state = mRFactor2LCD_state % table.getn(mRFactor2LCD_keys) + --print ( " << rF2 :" , mRFactor2LCD_state) + + Key = mRFactor2LCD_keys[mRFactor2LCD_state + 1] + elseif sim == "rFactor.exe" then + + --print ( " >> rF :" , mRFactorLCD_state) + + if ctrlPos == mLCDup then + mRFactorLCD_state = mRFactorLCD_state + 1 + elseif ctrlPos == mLCDdown then + mRFactorLCD_state = mRFactorLCD_state - 1 + end + + mRFactorLCD_state = mRFactorLCD_state % table.getn(mRFactorLCD_keys) + --print ( " << rF :" , mRFactorLCD_state) + + Key = mRFactorLCD_keys[mRFactorLCD_state + 1] + end + end + if Key ~= nil then + --print ( "KeyStroke : ", Key ) + SetKeystroke(Key, mKeyDelay, "") + return 0 + end + end + end + + return 2 +end + +print ( "gugus> + controls" ) diff --git a/scripts/slipro_gus.lua b/scripts/slipro_gus.lua index 0adcfb7..d88815d 100644 --- a/scripts/slipro_gus.lua +++ b/scripts/slipro_gus.lua @@ -1,6 +1,7 @@ print ( "gugus> Loading specific scripts" ) require "scripts/gugus/enterExit" +require "scripts/gugus/controls" require "scripts/gugus/sliproDigits" require "scripts/gugus/speedlimiter" require "scripts/gugus/gear" -- cgit v1.2.3