pub const LOGI_LED_BITMAP_WIDTH: u32 = 21;
pub const LOGI_LED_BITMAP_HEIGHT: u32 = 6;
pub const LOGI_LED_BITMAP_BYTES_PER_KEY: u32 = 4;
pub const LOGI_LED_BITMAP_SIZE: u32 = 504;
pub const LOGI_LED_DURATION_INFINITE: u32 = 0;
pub const LOGI_DEVICETYPE_MONOCHROME_ORD: u32 = 0;
pub const LOGI_DEVICETYPE_RGB_ORD: u32 = 1;
pub const LOGI_DEVICETYPE_PERKEY_RGB_ORD: u32 = 2;
pub const LOGI_DEVICETYPE_MONOCHROME: u32 = 1;
pub const LOGI_DEVICETYPE_RGB: u32 = 2;
pub const LOGI_DEVICETYPE_PERKEY_RGB: u32 = 4;
pub const LOGI_DEVICETYPE_ALL: u32 = 7;
#[repr(i32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum LogiLed_KeyName {
ESC = 1,
F1 = 59,
F2 = 60,
F3 = 61,
F4 = 62,
F5 = 63,
F6 = 64,
F7 = 65,
F8 = 66,
F9 = 67,
F10 = 68,
F11 = 87,
F12 = 88,
PRINT_SCREEN = 311,
SCROLL_LOCK = 70,
PAUSE_BREAK = 325,
TILDE = 41,
ONE = 2,
TWO = 3,
THREE = 4,
FOUR = 5,
FIVE = 6,
SIX = 7,
SEVEN = 8,
EIGHT = 9,
NINE = 10,
ZERO = 11,
MINUS = 12,
EQUALS = 13,
BACKSPACE = 14,
INSERT = 338,
HOME = 327,
PAGE_UP = 329,
NUM_LOCK = 69,
NUM_SLASH = 309,
NUM_ASTERISK = 55,
NUM_MINUS = 74,
TAB = 15,
Q = 16,
W = 17,
E = 18,
R = 19,
T = 20,
Y = 21,
U = 22,
I = 23,
O = 24,
P = 25,
OPEN_BRACKET = 26,
CLOSE_BRACKET = 27,
BACKSLASH = 43,
KEYBOARD_DELETE = 339,
END = 335,
PAGE_DOWN = 337,
NUM_SEVEN = 71,
NUM_EIGHT = 72,
NUM_NINE = 73,
NUM_PLUS = 78,
CAPS_LOCK = 58,
A = 30,
S = 31,
D = 32,
F = 33,
G = 34,
H = 35,
J = 36,
K = 37,
L = 38,
SEMICOLON = 39,
APOSTROPHE = 40,
ENTER = 28,
NUM_FOUR = 75,
NUM_FIVE = 76,
NUM_SIX = 77,
LEFT_SHIFT = 42,
Z = 44,
X = 45,
C = 46,
V = 47,
B = 48,
N = 49,
M = 50,
COMMA = 51,
PERIOD = 52,
FORWARD_SLASH = 53,
RIGHT_SHIFT = 54,
ARROW_UP = 328,
NUM_ONE = 79,
NUM_TWO = 80,
NUM_THREE = 81,
NUM_ENTER = 284,
LEFT_CONTROL = 29,
LEFT_WINDOWS = 347,
LEFT_ALT = 56,
SPACE = 57,
RIGHT_ALT = 312,
RIGHT_WINDOWS = 348,
APPLICATION_SELECT = 349,
RIGHT_CONTROL = 285,
ARROW_LEFT = 331,
ARROW_DOWN = 336,
ARROW_RIGHT = 333,
NUM_ZERO = 82,
NUM_PERIOD = 83,
G_1 = 65521,
G_2 = 65522,
G_3 = 65523,
G_4 = 65524,
G_5 = 65525,
G_6 = 65526,
G_7 = 65527,
G_8 = 65528,
G_9 = 65529,
G_LOGO = 1048561,
G_BADGE = 1048562,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum LogiLed_DeviceType {
Keyboard = 0,
Mouse = 3,
Mousemat = 4,
Headset = 8,
Speaker = 14,
}
extern "C" {
#[link_name = "\u{1}?LogiLedInit@@YA_NXZ"]
pub fn LogiLedInit() -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedInitWithName@@YA_NQEBD@Z"]
pub fn LogiLedInitWithName(name: *const ::std::os::raw::c_char) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetSdkVersion@@YA_NPEAH00@Z"]
pub fn LogiLedGetSdkVersion(
majorNum: *mut ::std::os::raw::c_int,
minorNum: *mut ::std::os::raw::c_int,
buildNum: *mut ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetConfigOptionNumber@@YA_NPEB_WPEAN@Z"]
pub fn LogiLedGetConfigOptionNumber(configPath: *const u16, defaultValue: *mut f64) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetConfigOptionBool@@YA_NPEB_WPEA_N@Z"]
pub fn LogiLedGetConfigOptionBool(configPath: *const u16, defaultValue: *mut bool) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetConfigOptionColor@@YA_NPEB_WPEAH11@Z"]
pub fn LogiLedGetConfigOptionColor(
configPath: *const u16,
defaultRed: *mut ::std::os::raw::c_int,
defaultGreen: *mut ::std::os::raw::c_int,
defaultBlue: *mut ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetConfigOptionRect@@YA_NPEB_WPEAH111@Z"]
pub fn LogiLedGetConfigOptionRect(
configPath: *const u16,
defaultX: *mut ::std::os::raw::c_int,
defaultY: *mut ::std::os::raw::c_int,
defaultWidth: *mut ::std::os::raw::c_int,
defaultHeight: *mut ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetConfigOptionString@@YA_NPEB_WPEA_WH@Z"]
pub fn LogiLedGetConfigOptionString(
configPath: *const u16,
defaultValue: *mut u16,
bufferSize: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetConfigOptionKeyInput@@YA_NPEB_WPEA_WH@Z"]
pub fn LogiLedGetConfigOptionKeyInput(
configPath: *const u16,
defaultValue: *mut u16,
bufferSize: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetConfigOptionSelect@@YA_NPEB_WPEA_WPEAH0H@Z"]
pub fn LogiLedGetConfigOptionSelect(
configPath: *const u16,
defaultValue: *mut u16,
valueSize: *mut ::std::os::raw::c_int,
values: *const u16,
bufferSize: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedGetConfigOptionRange@@YA_NPEB_WPEAHHH@Z"]
pub fn LogiLedGetConfigOptionRange(
configPath: *const u16,
defaultValue: *mut ::std::os::raw::c_int,
min: ::std::os::raw::c_int,
max: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetConfigOptionLabel@@YA_NPEB_WPEA_W@Z"]
pub fn LogiLedSetConfigOptionLabel(configPath: *const u16, label: *mut u16) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetTargetDevice@@YA_NH@Z"]
pub fn LogiLedSetTargetDevice(targetDevice: ::std::os::raw::c_int) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSaveCurrentLighting@@YA_NXZ"]
pub fn LogiLedSaveCurrentLighting() -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetLighting@@YA_NHHH@Z"]
pub fn LogiLedSetLighting(
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedRestoreLighting@@YA_NXZ"]
pub fn LogiLedRestoreLighting() -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedFlashLighting@@YA_NHHHHH@Z"]
pub fn LogiLedFlashLighting(
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
milliSecondsDuration: ::std::os::raw::c_int,
milliSecondsInterval: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedPulseLighting@@YA_NHHHHH@Z"]
pub fn LogiLedPulseLighting(
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
milliSecondsDuration: ::std::os::raw::c_int,
milliSecondsInterval: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedStopEffects@@YA_NXZ"]
pub fn LogiLedStopEffects() -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetLightingFromBitmap@@YA_NQEAE@Z"]
pub fn LogiLedSetLightingFromBitmap(bitmap: *mut ::std::os::raw::c_uchar) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetLightingForKeyWithScanCode@@YA_NHHHH@Z"]
pub fn LogiLedSetLightingForKeyWithScanCode(
keyCode: ::std::os::raw::c_int,
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetLightingForKeyWithHidCode@@YA_NHHHH@Z"]
pub fn LogiLedSetLightingForKeyWithHidCode(
keyCode: ::std::os::raw::c_int,
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetLightingForKeyWithQuartzCode@@YA_NHHHH@Z"]
pub fn LogiLedSetLightingForKeyWithQuartzCode(
keyCode: ::std::os::raw::c_int,
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetLightingForKeyWithKeyName@@YA_NW4KeyName@LogiLed@@HHH@Z"]
pub fn LogiLedSetLightingForKeyWithKeyName(
keyName: LogiLed_KeyName,
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSaveLightingForKey@@YA_NW4KeyName@LogiLed@@@Z"]
pub fn LogiLedSaveLightingForKey(keyName: LogiLed_KeyName) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedRestoreLightingForKey@@YA_NW4KeyName@LogiLed@@@Z"]
pub fn LogiLedRestoreLightingForKey(keyName: LogiLed_KeyName) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedExcludeKeysFromBitmap@@YA_NPEAW4KeyName@LogiLed@@H@Z"]
pub fn LogiLedExcludeKeysFromBitmap(
keyList: *mut LogiLed_KeyName,
listCount: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedFlashSingleKey@@YA_NW4KeyName@LogiLed@@HHHHH@Z"]
pub fn LogiLedFlashSingleKey(
keyName: LogiLed_KeyName,
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
msDuration: ::std::os::raw::c_int,
msInterval: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedPulseSingleKey@@YA_NW4KeyName@LogiLed@@HHHHHHH_N@Z"]
pub fn LogiLedPulseSingleKey(
keyName: LogiLed_KeyName,
startRedPercentage: ::std::os::raw::c_int,
startGreenPercentage: ::std::os::raw::c_int,
startBluePercentage: ::std::os::raw::c_int,
finishRedPercentage: ::std::os::raw::c_int,
finishGreenPercentage: ::std::os::raw::c_int,
finishBluePercentage: ::std::os::raw::c_int,
msDuration: ::std::os::raw::c_int,
isInfinite: bool,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedStopEffectsOnKey@@YA_NW4KeyName@LogiLed@@@Z"]
pub fn LogiLedStopEffectsOnKey(keyName: LogiLed_KeyName) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedSetLightingForTargetZone@@YA_NW4DeviceType@LogiLed@@HHHH@Z"]
pub fn LogiLedSetLightingForTargetZone(
deviceType: LogiLed_DeviceType,
zone: ::std::os::raw::c_int,
redPercentage: ::std::os::raw::c_int,
greenPercentage: ::std::os::raw::c_int,
bluePercentage: ::std::os::raw::c_int,
) -> bool;
}
extern "C" {
#[link_name = "\u{1}?LogiLedShutdown@@YAXXZ"]
pub fn LogiLedShutdown();
}