SamuelDenani / LogiPy

This package is a python wrapper for Logitech G's LED and Arx SDKs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LogiPy

This package is a python wrapper for Logitech G's LED and Arx SDKs <http://gaming.logitech.com/en-us/developers>__.

Use the LED SDK to get access to all of the LED backlighting and RGB capabilities of Logitech G products. Integrate profiles for custom key configurations, develop in-game effects, or mark keys to keep track of cool downs on various commands.

Arx Control introduces second screen capability that allows iOS and Android mobile devices to display in-game info, vital system statistics and more. The associated SDK enables integration of your code with the Arx Control app.

LED Examples

Make sure logipy folder and your .py code in the same Directory

Set all device lighting to red:

from logipy import logi_led
import time
import ctypes

logi_led.logi_led_init()
time.sleep(1) # Give the SDK a second to initialize
logi_led.logi_led_set_lighting(100, 0, 0)
logi_led.logi_led_shutdown()

Or if you prefer the c/c++ style you can use the LED DLL directly:

from logipy import logi_led
import time
import ctypes

logi_led.led_dll.LogiLedInit()
time.sleep(1) # Give the SDK a second to initialize
logi_led.led_dll.LogiLedSetLighting(ctypes.c_int(0), ctypes.c_int(100), ctypes.c_int(0))
logi_led.led_dll.LogiLedShutdown()

Load user configured settings for your LED effects:

::

from logipy import logi_led
import time
import ctypes

logi_led.led_dll.LogiLedInit()
time.sleep(1) # Give the SDK a second to initialize

effect_enabled = logi_led.logi_led_get_config_option_bool('effect/enabled', True) # Use a default value if not found
effect_duration = logi_led.logi_led_get_config_option_number('effect/duration', 5)
effect_color = logi_led.logi_led_get_config_option_color('effect/color', Color(0, 255, 0))

logi_led.logi_led_set_config_option_label('effect', 'Effect Settings')
logi_led.logi_led_set_config_option_label('effect/enabled', 'Enabled')
logi_led.logi_led_set_config_option_label('effect/duration', 'Duration in seconds')
logi_led.logi_led_set_config_option_label('effect/color', 'Color')

if effect_enabled:
    logi_led.logi_led_set_lighting(*effect_color.rgb_percent())
    time.sleep(effect_duration)

logi_led.led_dll.LogiLedShutdown()

Arx Examples

Show a simple applet with the default callback:

from logipy import logi_arx
import time

index = """
    <html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, target-densityDpi=device-dpi, user-scalable=no" />
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>
        <img id="splash-icon" src="https://m.media-amazon.com/images/S/aplus-media/vc/d02b5f19-900d-497b-b354-4b9a4070a890.__CR0,0,1464,600_PT0_SX1464_V1___.jpg" />
    </body>
    </html>
    """
css = """
    body {
        background-color: black;
    }
    img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 118px;
        height: 118px;
        margin-top: -59px;
        margin-left: -59px;
    }
    """
logi_arx.logi_arx_init("com.logitech.gaming.logipy", "LogiPy")
time.sleep(1)
logi_arx.logi_arx_add_utf8_string_as(index, "index.html", "text/html")
logi_arx.logi_arx_add_utf8_string_as(css, "style.css", "text/css")
logi_arx.logi_arx_set_index("index.html")
logi_arx.logi_arx_shutdown()

Show a simple applet with a custom callback:

from logipy import logi_arx
import time
import ctypes

index = """
    <html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, target-densityDpi=device-dpi, user-scalable=no" />
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>
        <img id="splash-icon" src="https://m.media-amazon.com/images/S/aplus-media/vc/d02b5f19-900d-497b-b354-4b9a4070a890.__CR0,0,1464,600_PT0_SX1464_V1___.jpg" />
    </body>
    </html>
    """
css = """
    body {
        background-color: black;
    }
    img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 118px;
        height: 118px;
        margin-top: -59px;
        margin-left: -59px;
    }
    """
def custom_callback(event_type, event_value, event_arg, context):
    if event_arg and event_arg == 'splash-icon':
        print "\nNo wonder Logitech is called Logicool in Japan! They are so cool!"

logi_arx.logi_arx_init("com.logitech.gaming.logipy", "LogiPy", custom_callback)
time.sleep(1)
logi_arx.logi_arx_add_utf8_string_as(index, "index.html", "text/html")
logi_arx.logi_arx_add_utf8_string_as(css, "style.css", "text/css")
logi_arx.logi_arx_set_index("index.html")
logi_arx.logi_arx_shutdown()

About

This package is a python wrapper for Logitech G's LED and Arx SDKs.

License:MIT License


Languages

Language:Python 100.0%