Skip to content

取键盘指示灯状态

取得键盘提示灯(NumLock、CapsLock、ScrollLock、Compose、Kana)的当前状态。

语法

cpp
class RX784::Device {
    Status getKeyboardLEDsState(
        KeyboardLEDsState& keyboardLEDsState
    );
};
class RX784::Device {
    Status getKeyboardLEDsState(
        KeyboardLEDsState& keyboardLEDsState
    );
};
e
类名基类公开备注
RX784设备
方法名返回值类型公开备注
取键盘指示灯状态整数型
参数名类型参考可空数组备注
键盘指示灯状态键盘指示灯状态
.版本 2 .程序集 RX784设备, , 公开 .子程序 取键盘指示灯状态, 整数型, 公开 .参数 键盘指示灯状态, 键盘指示灯状态, 参考
py
class Device:
    def get_keyboard_leds_state(self) -> Tuple[Status, Optional[KeyboardLEDsState]]: ...
class Device:
    def get_keyboard_leds_state(self) -> Tuple[Status, Optional[KeyboardLEDsState]]: ...

返回值

名称英文说明
状态码status成功返回
键盘指示灯状态keyboard leds state亮灯为真(true)。

类型

cpp
struct RX784::KeyboardLEDsState {
    uint8_t numLock    : 1;
    uint8_t capsLock   : 1;
    uint8_t scrollLock : 1;
    uint8_t compose    : 1;
    uint8_t kana       : 1;
};
struct RX784::KeyboardLEDsState {
    uint8_t numLock    : 1;
    uint8_t capsLock   : 1;
    uint8_t scrollLock : 1;
    uint8_t compose    : 1;
    uint8_t kana       : 1;
};
e
数据类型名公开备注
键盘指示灯状态
成员名类型传址数组备注
numLock逻辑型
capsLock逻辑型
scrollLock逻辑型
compose逻辑型
kana逻辑型
.版本 2 .数据类型 键盘指示灯状态, 公开 .成员 numLock, 逻辑型 .成员 capsLock, 逻辑型 .成员 scrollLock, 逻辑型 .成员 compose, 逻辑型 .成员 kana, 逻辑型
py
@dataclass
class KeyboardLEDsState:
    num_lock:    bool
    caps_lock:   bool
    scroll_lock: bool
    compose:     bool
    kana:        bool
@dataclass
class KeyboardLEDsState:
    num_lock:    bool
    caps_lock:   bool
    scroll_lock: bool
    compose:     bool
    kana:        bool

示例

cpp
#include <iostream>
#include "rx784.hpp"

int main() {
    RX784::Device device;
    RX784::Status status;
    RX784::KeyboardLEDsState keyboardLEDsState;

    device.open("COM1");

    status = device.getKeyboardLEDsState(keyboardLEDsState);
    if (status == RX784::Status::kSuccess) {
        if (keyboardLEDsState.capsLock) {
            std::cout << "大写锁定已打开" << std::endl;
        } else {
            std::cout << "大写锁定未打开" << std::endl;
        }
    } else {
        std::cout << status << std::endl;
    }

    device.close();
}
#include <iostream>
#include "rx784.hpp"

int main() {
    RX784::Device device;
    RX784::Status status;
    RX784::KeyboardLEDsState keyboardLEDsState;

    device.open("COM1");

    status = device.getKeyboardLEDsState(keyboardLEDsState);
    if (status == RX784::Status::kSuccess) {
        if (keyboardLEDsState.capsLock) {
            std::cout << "大写锁定已打开" << std::endl;
        } else {
            std::cout << "大写锁定未打开" << std::endl;
        }
    } else {
        std::cout << status << std::endl;
    }

    device.close();
}
e
方法名返回值类型公开备注
_启动子程序整数型
变量名类型静态数组备注
设备RX784设备
键盘指示灯状态键盘指示灯状态
状态码整数型
设备.打开 (“COM1”)
状态码 = 设备.取键盘指示灯状态 (键盘指示灯状态)
如果 (状态码 = #RX784状态码_成功)
如果 (键盘指示灯状态.capsLock)
        调试输出 (“大写锁定已打开”)
否则
        调试输出 (“大写锁定未打开”)
如果结束
否则
    调试输出 (RX784状态码到文本 (状态码))
如果结束
设备.关闭 ()
返回 (0)
.版本 2 .子程序 _启动子程序, 整数型 .局部变量 设备, RX784设备 .局部变量 键盘指示灯状态, 键盘指示灯状态 .局部变量 状态码, 整数型 设备.打开 (“COM1”) 状态码 = 设备.取键盘指示灯状态 (键盘指示灯状态) .如果 (状态码 = #RX784状态码_成功) .如果 (键盘指示灯状态.capsLock) 调试输出 (“大写锁定已打开”) .否则 调试输出 (“大写锁定未打开”) .如果结束 .否则 调试输出 (RX784状态码到文本 (状态码)) .如果结束 设备.关闭 () 返回 (0)
py
import rx784

device = rx784.Device()

device.open('COM1')

status, keyboard_leds_state = device.get_keyboard_leds_state()
if status == rx784.Status.SUCCESS:
    if keyboard_leds_state.caps_lock:
        print('大写锁定已打开')
    else:
        print('大写锁定未打开')
else:
    print(status)

device.close()
import rx784

device = rx784.Device()

device.open('COM1')

status, keyboard_leds_state = device.get_keyboard_leds_state()
if status == rx784.Status.SUCCESS:
    if keyboard_leds_state.caps_lock:
        print('大写锁定已打开')
    else:
        print('大写锁定未打开')
else:
    print(status)

device.close()