Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/platform/x86/tuxedo/nb04/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  wmi_util.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * This code gives functions to avoid code duplication while interacting with
 * the TUXEDO NB04 wmi interfaces.
 *
 * Copyright (C) 2024-2025 Werner Sembach <wse@tuxedocomputers.com>
 */


#ifndef TUXEDO_NB04_WMI_UTIL_H
#define TUXEDO_NB04_WMI_UTIL_H

#include <linux/wmi.h>

#define TUX_GET_DEVICE_STATUS_DEVICE_ID_TOUCHPAD 1
#define TUX_GET_DEVICE_STATUS_DEVICE_ID_KEYBOARD 2
#define TUX_GET_DEVICE_STATUS_DEVICE_ID_APP_PAGES 3

#define TUX_GET_DEVICE_STATUS_KBL_TYPE_NONE  0
#define TUX_GET_DEVICE_STATUS_KBL_TYPE_PER_KEY  1
#define TUX_GET_DEVICE_STATUS_KBL_TYPE_FOUR_ZONE 2
#define TUX_GET_DEVICE_STATUS_KBL_TYPE_WHITE_ONLY 3

#define TUX_GET_DEVICE_STATUS_KEYBOARD_LAYOUT_ANSII 0
#define TUX_GET_DEVICE_STATUS_KEYBOARD_LAYOUT_ISO 1

#define TUX_GET_DEVICE_STATUS_COLOR_ID_RED  1
#define TUX_GET_DEVICE_STATUS_COLOR_ID_GREEN  2
#define TUX_GET_DEVICE_STATUS_COLOR_ID_YELLOW  3
#define TUX_GET_DEVICE_STATUS_COLOR_ID_BLUE  4
#define TUX_GET_DEVICE_STATUS_COLOR_ID_PURPLE  5
#define TUX_GET_DEVICE_STATUS_COLOR_ID_INDIGO  6
#define TUX_GET_DEVICE_STATUS_COLOR_ID_WHITE  7

#define TUX_GET_DEVICE_STATUS_APP_PAGES_DASHBOARD BIT(0)
#define TUX_GET_DEVICE_STATUS_APP_PAGES_SYSTEMINFOS BIT(1)
#define TUX_GET_DEVICE_STATUS_APP_PAGES_KBL  BIT(2)
#define TUX_GET_DEVICE_STATUS_APP_PAGES_HOTKEYS  BIT(3)

union tux_wmi_xx_8in_80out_in_t {
 u8 raw[8];
 struct __packed {
  u8 device_type;
  u8 reserved[7];
 } get_device_status_in;
};

union tux_wmi_xx_8in_80out_out_t {
 u8 raw[80];
 struct __packed {
  u16 return_status;
  u8 device_enabled;
  u8 kbl_type;
  u8 kbl_side_bar_supported;
  u8 keyboard_physical_layout;
  u8 app_pages;
  u8 per_key_kbl_default_color;
  u8 four_zone_kbl_default_color_1;
  u8 four_zone_kbl_default_color_2;
  u8 four_zone_kbl_default_color_3;
  u8 four_zone_kbl_default_color_4;
  u8 light_bar_kbl_default_color;
  u8 reserved_0[1];
  u16 dedicated_gpu_id;
  u8 reserved_1[64];
 } get_device_status_out;
};

enum tux_wmi_xx_8in_80out_methods {
 TUX_GET_DEVICE_STATUS = 2,
};

#define TUX_KBL_SET_MULTIPLE_KEYS_LIGHTING_SETTINGS_COUNT_MAX 120

union tux_wmi_xx_496in_80out_in_t {
 u8 raw[496];
 struct __packed {
  u8 reserved[15];
  u8 rgb_configs_cnt;
  struct tux_kbl_set_multiple_keys_in_rgb_config_t {
   u8 key_id;
   u8 red;
   u8 green;
   u8 blue;
  } rgb_configs[TUX_KBL_SET_MULTIPLE_KEYS_LIGHTING_SETTINGS_COUNT_MAX];
 }  kbl_set_multiple_keys_in;
};

union tux_wmi_xx_496in_80out_out_t {
 u8 raw[80];
 struct __packed {
  u8 return_value;
  u8 reserved[79];
 } kbl_set_multiple_keys_out;
};

enum tux_wmi_xx_496in_80out_methods {
 TUX_KBL_SET_MULTIPLE_KEYS = 6,
};

int tux_wmi_xx_8in_80out(struct wmi_device *wdev,
    enum tux_wmi_xx_8in_80out_methods method,
    union tux_wmi_xx_8in_80out_in_t *in,
    union tux_wmi_xx_8in_80out_out_t *out);
int tux_wmi_xx_496in_80out(struct wmi_device *wdev,
      enum tux_wmi_xx_496in_80out_methods method,
      union tux_wmi_xx_496in_80out_in_t *in,
      union tux_wmi_xx_496in_80out_out_t *out);

#endif

Messung V0.5
C=99 H=100 G=99

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.