Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
Moderator: Moderators
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
Hello All!
Is it possible to disable light of joystick (i already changed my cfg an it is work) and still leave the led on the 'lock' button on?) That's will be really nice!
Is it possible to disable light of joystick (i already changed my cfg an it is work) and still leave the led on the 'lock' button on?) That's will be really nice!
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
I got tired of directly editing Global.xml and wrote a couple of simple batch files that use fart.exe (https://sourceforge.net/projects/fart-it/). I mapped the "toggle" file as an application to a keyboard button in Logitech Options.
3DxLEDinitialize.bat: This one just adds <LEDsEnabled>true</LEDsEnabled> to %appdata%\3Dconnexion\3DxWare\Cfg\Global.xml, if <LEDsEnabled> is not present in Global.xml. I have an extra label :initialize that would be handy if I combined the two batch files, though the combination didn't function properly.
3Dx_LEDs_toggle.bat: This toggles the LED state. It's not 100% reliable, but good enough for occasional use. If anyone has some suggested mods to make it more consistent, those would be appreciated.
3DxLEDinitialize.bat: This one just adds <LEDsEnabled>true</LEDsEnabled> to %appdata%\3Dconnexion\3DxWare\Cfg\Global.xml, if <LEDsEnabled> is not present in Global.xml. I have an extra label :initialize that would be handy if I combined the two batch files, though the combination didn't function properly.
Code: Select all
REM This batch script requires fart.exe to be in the same folder,
REM or in one specified in one of the Path Environment Variables.
REM If the <LEDsEnabled> tags aren't present, they will be added
REM directly after <Settings>, with the default = true.
set Global_cfg=%appdata%\3Dconnexion\3DxWare\Cfg\Global.xml
findstr "<LEDsEnabled>" "%Global_cfg%"
if not errorlevel 1 goto initialize else goto:eof
:initalize
start fart "%Global_cfg%" "<Settings>" "<Settings><LEDsEnabled>true</LEDsEnabled>"
Code: Select all
REM This batch script requires fart.exe to be in the same folder,
REM or in one specified in one of the Path Environment Variables.
set Global_cfg=%appdata%\3Dconnexion\3DxWare\Cfg\Global.xml
findstr "<LEDsEnabled>true" "%Global_cfg%"
if not errorlevel 1 goto disable
start fart "%Global_cfg%" "<LEDsEnabled>false" "<LEDsEnabled>true"
:disable
start fart "%Global_cfg%" "<LEDsEnabled>true" "<LEDsEnabled>false"
Michael Hoopes
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
I don't know how to edit a published post, so I'm re-posting here. I forgot to add back in a goto:eof in the toggle batch file.
I got tired of directly editing Global.xml and wrote a couple of simple batch files that use fart.exe (https://sourceforge.net/projects/fart-it/). I mapped the "toggle" file as an application to a keyboard button in Logitech Options.
3DxLEDinitialize.bat: This one just adds <LEDsEnabled>true</LEDsEnabled> to %appdata%\3Dconnexion\3DxWare\Cfg\Global.xml, if <LEDsEnabled> is not present in Global.xml. I have an extra label :initialize that would be handy if I combined the two batch files, though the combination didn't function properly.
3Dx_LEDs_toggle.bat: This toggles the LED state. It's not 100% reliable, but good enough for occasional use. If anyone has some suggested mods to make it more consistent, those would be appreciated.
I got tired of directly editing Global.xml and wrote a couple of simple batch files that use fart.exe (https://sourceforge.net/projects/fart-it/). I mapped the "toggle" file as an application to a keyboard button in Logitech Options.
3DxLEDinitialize.bat: This one just adds <LEDsEnabled>true</LEDsEnabled> to %appdata%\3Dconnexion\3DxWare\Cfg\Global.xml, if <LEDsEnabled> is not present in Global.xml. I have an extra label :initialize that would be handy if I combined the two batch files, though the combination didn't function properly.
Code: Select all
REM This batch script requires fart.exe to be in the same folder,
REM or in one specified in one of the Path Environment Variables.
REM If the <LEDsEnabled> tags aren't present, they will be added
REM directly after <Settings>, with the default = true.
set Global_cfg=%appdata%\3Dconnexion\3DxWare\Cfg\Global.xml
findstr "<LEDsEnabled>" "%Global_cfg%"
if not errorlevel 1 goto initialize else goto:eof
:initalize
start fart "%Global_cfg%" "<Settings>" "<Settings><LEDsEnabled>true</LEDsEnabled>"
Code: Select all
REM This batch script requires fart.exe to be in the same folder,
REM or in one specified in one of the Path Environment Variables.
set Global_cfg=%appdata%\3Dconnexion\3DxWare\Cfg\Global.xml
findstr "<LEDsEnabled>true" "%Global_cfg%"
if not errorlevel 1 goto disable
start fart "%Global_cfg%" "<LEDsEnabled>false" "<LEDsEnabled>true"
goto:eof
:disable
start fart "%Global_cfg%" "<LEDsEnabled>true" "<LEDsEnabled>false"
Michael Hoopes
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
mhoopes,
Sure that will work. The file rules. If you change it, by whatever means, it will be used.
I could have given you a script to do it...
Sure that will work. The file rules. If you change it, by whatever means, it will be used.
I could have given you a script to do it...
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
Michael Hoopes
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
Thanks @patrick for clear instruction! Everything works as charm.
I wrote simple python script which can create entry in XML file or toggle it. It can be launched with macro or anything.
I wrote simple python script which can create entry in XML file or toggle it. It can be launched with macro or anything.
Code: Select all
import os
import xml.etree.ElementTree as ET
appdata_path = os.getenv('APPDATA')
global_xml_path = "\\3Dconnexion\\3DxWare\\Cfg\\Global.xml"
if not os.path.exists(appdata_path + global_xml_path):
print("File not found at: " + appdata_path + global_xml_path)
exit(-1)
global_xml = ET.parse(appdata_path + global_xml_path)
root = global_xml.getroot()
settings = root.find('Settings')
if settings is None:
print("Can't find 'Setting' section")
exit(-2)
LED_setting_name = "LEDsEnabled"
found_element = False
for elem in settings.iter(LED_setting_name):
if found_element:
print("Multiple entrance detected!")
exit(-3)
found_element = True
if elem.text.lower() in ['true']:
elem.text = 'False'
else:
elem.text = 'True'
if found_element:
global_xml.write(appdata_path + global_xml_path)
else:
led_setting = ET.Element(LED_setting_name)
led_setting.text = "False"
settings = root.find('Settings')
settings.append(led_setting)
global_xml.write(appdata_path + global_xml_path)
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
Andre- your script works well, thanks much! Note for others who want to try it - you'll need to install the Python interpreter.
I updated my cmd/fart batch script to combine the "initialize" function and make the toggle function more reliable, and xml-case-insensitive to be compatible with Andre's script.
I updated my cmd/fart batch script to combine the "initialize" function and make the toggle function more reliable, and xml-case-insensitive to be compatible with Andre's script.
Code: Select all
@echo off
title 3Dx_LEDs_toggle
:: This batch script requires fart.exe to be in the same folder,
:: or in one specified in one of the Path Environment Variables.
set Global_cfg=%appdata%\3Dconnexion\3DxWare\Cfg\Global.xml
findstr /i "<LEDsEnabled>" "%Global_cfg%" >nul || (
echo intialized
fart -aiq "%Global_cfg%" "</Settings>" "<LEDsEnabled>False</LEDsEnabled></Settings>"
)
findstr /i "<LEDsEnabled>True" "%Global_cfg%" >nul && (
echo disabled
fart -aiq "%Global_cfg%" "<LEDsEnabled>True" "<LEDsEnabled>False"
goto :eof
)
echo enabled
fart -aiq "%Global_cfg%" "<LEDsEnabled>False" "<LEDsEnabled>True"
Michael Hoopes
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
An "LEDs Active" CheckBox was added to the latest GUI (Device->Advanced Settings page).
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
Small update to how execute script:AndreLoco wrote: ↑Sun Mar 20, 2022 9:24 am Thanks @patrick for clear instruction! Everything works as charm.
I wrote simple python script which can create entry in XML file or toggle it. It can be launched with macro or anything.
Code: Select all
import os import xml.etree.ElementTree as ET appdata_path = os.getenv('APPDATA') global_xml_path = "\\3Dconnexion\\3DxWare\\Cfg\\Global.xml" if not os.path.exists(appdata_path + global_xml_path): print("File not found at: " + appdata_path + global_xml_path) exit(-1) global_xml = ET.parse(appdata_path + global_xml_path) root = global_xml.getroot() settings = root.find('Settings') if settings is None: print("Can't find 'Setting' section") exit(-2) LED_setting_name = "LEDsEnabled" found_element = False for elem in settings.iter(LED_setting_name): if found_element: print("Multiple entrance detected!") exit(-3) found_element = True if elem.text.lower() in ['true']: elem.text = 'False' else: elem.text = 'True' if found_element: global_xml.write(appdata_path + global_xml_path) else: led_setting = ET.Element(LED_setting_name) led_setting.text = "False" settings = root.find('Settings') settings.append(led_setting) global_xml.write(appdata_path + global_xml_path)
1. You need to install Python3 (Thanks mhoopes - I forgot it isn't preinstalled )
2. Save script to preferred location with extension "*.py" (i.e. "SME_toogle_LED.py") - IMPORTANT indentation in script are very important!
3. You can test run your script by double-clicking on it. If everything works go to next point.
4. Best way for me to launch script from SME directly is to assign Application to button - add new one, where you point created earlier script.
@jwick - unfortunately I can't locate this feature you mentioned:
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
AndreLoco,
What version do you have installed? There was a new release a few days ago.
What version do you have installed? There was a new release a few days ago.
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
jwick,
I see it now. I had 10.8.5 and must to manually check update. Now with 10.8.6 I had it in Advance settings.
Anyway, I think assigning it to a button is pretty convenient
I see it now. I had 10.8.5 and must to manually check update. Now with 10.8.6 I had it in Advance settings.
Anyway, I think assigning it to a button is pretty convenient
Re: Windows 10 using 10.8.4 driver, System tray, doesn't have option to disable LED
Update to Windows CLI/fart method. With 3DConnexion's Advanced Settings update, Global.xml is now indented, and one line of code is inserted or deleted to toggle the LED:
<LEDsEnabled>false</LEDsEnabled>
<LEDsEnabled>false</LEDsEnabled>
Code: Select all
@echo off
title 3Dx_LEDs_toggle
:: This batch script requires fart.exe to be in the same folder,
:: or in one specified in one of the Path Environment Variables.
set Global_Cfg=%appdata%\3Dconnexion\3DxWare\Cfg\Global.xml
findstr /i /C:"<LEDsEnabled>false</LEDsEnabled>" "%Global_Cfg%" >nul && (
fart -C --remove "%Global_Cfg%" " <LEDsEnabled>false</LEDsEnabled>\r\n"
set errorlevel=0
) || (
fart -C "%Global_Cfg%" " </Settings>" " <LEDsEnabled>false</LEDsEnabled>"\r\n" </Settings>"
)
Michael Hoopes