取鼠标按键状态
判断 3 个鼠标按键是否已被按下。
语法
cpp
class RX784::Device {
Status getButtonsState(
ButtonsState& buttonsState
);
};
class RX784::Device {
Status getButtonsState(
ButtonsState& buttonsState
);
};
e
类名 基类 公开 备注 RX784设备 ✔
方法名 返回值类型 公开 备注 取鼠标按键状态 整数型 ✔ 参数名 类型 参考 可空 数组 备注 鼠标按键状态 鼠标按键状态 ✔
.版本 2
.程序集 RX784设备, , 公开
.子程序 取鼠标按键状态, 整数型, 公开
.参数 鼠标按键状态, 鼠标按键状态, 参考
py
class Device:
def get_buttons_state(self) -> Tuple[Status, Optional[ButtonsState]]: ...
class Device:
def get_buttons_state(self) -> Tuple[Status, Optional[ButtonsState]]: ...
返回值
名称 | 英文 | 说明 |
---|---|---|
状态码 | status | 成功返回 。 |
鼠标按键状态 | buttons state | 已按下则为真(true),未按下则为假(false)。 |
类型
cpp
struct RX784::ButtonsState {
uint8_t left : 1;
uint8_t right : 1;
uint8_t middle : 1;
uint8_t button4 : 1;
uint8_t button5 : 1;
};
struct RX784::ButtonsState {
uint8_t left : 1;
uint8_t right : 1;
uint8_t middle : 1;
uint8_t button4 : 1;
uint8_t button5 : 1;
};
e
数据类型名 公开 备注 鼠标按键状态 ✔ 成员名 类型 传址 数组 备注 左键 逻辑型 右键 逻辑型 中键 逻辑型 键4 逻辑型 键5 逻辑型
.版本 2
.数据类型 鼠标按键状态, 公开
.成员 左键, 逻辑型
.成员 右键, 逻辑型
.成员 中键, 逻辑型
.成员 键4, 逻辑型
.成员 键5, 逻辑型
py
@dataclass
class ButtonsState:
left: bool
right: bool
middle: bool
button4: bool
button5: bool
@dataclass
class ButtonsState:
left: bool
right: bool
middle: bool
button4: bool
button5: bool
示例
cpp
#include <cstdio>
#include "rx784.hpp"
int main() {
RX784::Device device;
RX784::Status status;
RX784::ButtonsState buttonsState;
device.open("COM1");
status = device.getButtonsState(buttonsState);
if (status == RX784::Status::kSuccess) {
printf("左键: %s\n"
"右键: %s\n"
"右键: %s\n"
" 键4: %s\n"
" 键5: %s\n",
buttonsState.left ? "true" : "false",
buttonsState.right ? "true" : "false",
buttonsState.middle ? "true" : "false",
buttonsState.button4 ? "true" : "false",
buttonsState.button5 ? "true" : "false");
} else {
printf(RX784::statusToString(status).c_str());
}
device.close();
}
#include <cstdio>
#include "rx784.hpp"
int main() {
RX784::Device device;
RX784::Status status;
RX784::ButtonsState buttonsState;
device.open("COM1");
status = device.getButtonsState(buttonsState);
if (status == RX784::Status::kSuccess) {
printf("左键: %s\n"
"右键: %s\n"
"右键: %s\n"
" 键4: %s\n"
" 键5: %s\n",
buttonsState.left ? "true" : "false",
buttonsState.right ? "true" : "false",
buttonsState.middle ? "true" : "false",
buttonsState.button4 ? "true" : "false",
buttonsState.button5 ? "true" : "false");
} else {
printf(RX784::statusToString(status).c_str());
}
device.close();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
e
方法名 返回值类型 公开 备注 _启动子程序 整数型
变量名 类型 静态 数组 备注 设备 RX784设备 状态码 整数型 鼠标按键状态 鼠标按键状态
设备.打开 (“COM1”)状态码 = 设备.取鼠标按键状态 (鼠标按键状态) 如果 (状态码 = #RX784状态码_成功) 调试输出 (“左键”, 鼠标按键状态.左键) 调试输出 (“右键”, 鼠标按键状态.右键) 调试输出 (“中键”, 鼠标按键状态.中键) 调试输出 (“ 键4”, 鼠标按键状态.键4) 调试输出 (“ 键5”, 鼠标按键状态.键5) 否则 调试输出 (RX784状态码到文本 (状态码)) 如果结束设备.关闭 ()返回 (0).版本 2
.子程序 _启动子程序, 整数型
.局部变量 设备, RX784设备
.局部变量 状态码, 整数型
.局部变量 鼠标按键状态, 鼠标按键状态
设备.打开 (“COM1”)
状态码 = 设备.取鼠标按键状态 (鼠标按键状态)
.如果 (状态码 = #RX784状态码_成功)
调试输出 (“左键”, 鼠标按键状态.左键)
调试输出 (“右键”, 鼠标按键状态.右键)
调试输出 (“中键”, 鼠标按键状态.中键)
调试输出 (“ 键4”, 鼠标按键状态.键4)
调试输出 (“ 键5”, 鼠标按键状态.键5)
.否则
调试输出 (RX784状态码到文本 (状态码))
.如果结束
设备.关闭 ()
返回 (0)
py
import rx784
device = rx784.Device()
device.open('COM1')
status, buttons_state = device.get_buttons_state()
if status == rx784.Status.SUCCESS:
print('左键: ', buttons_state.left)
print('右键: ', buttons_state.right)
print('中键: ', buttons_state.middle)
print(' 键4: ', buttons_state.button4)
print(' 键5: ', buttons_state.button5)
else:
print(status)
device.close()
import rx784
device = rx784.Device()
device.open('COM1')
status, buttons_state = device.get_buttons_state()
if status == rx784.Status.SUCCESS:
print('左键: ', buttons_state.left)
print('右键: ', buttons_state.right)
print('中键: ', buttons_state.middle)
print(' 键4: ', buttons_state.button4)
print(' 键5: ', buttons_state.button5)
else:
print(status)
device.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17