16 #include "../include/tscope5/keyboard.h"
17 #include "../include/tscope5/timer.h"
18 #include "../include/tscope5/keyboard_internal.h"
19 #include "../include/tscope5/system_internal.h"
91 ts5_log(TS5_LOGLEVEL_3,
"ts5_define_keyboard_button(%d)\n", button);
94 ts5_fatal(
"%s: %s\n",
"ts5_define_keyboard_button",
95 "button argument is 0, response buttons are numbered from 1");
98 if (abs(button)>_ts5_status.timer.keyboard.num_buttons) {
99 ts5_fatal(
"%s: %s %d, %s is %d\n",
"ts5_define_keyboard_button",
100 "button argument is", button,
101 "number of keyboard buttons",
102 _ts5_status.timer.keyboard.num_buttons);
105 if (button>0 && _ts5_status.timer.keyboard
106 .button_press_defined[button-1]!=0) {
107 ts5_fatal(
"%s: %s %d %s\n",
"ts5_define_keyboard_button",
108 "button press", button,
"is already defined");
111 if (button<0 && _ts5_status.timer.keyboard
112 .button_release_defined[-button-1]!=0) {
113 ts5_fatal(
"%s: %s %d %s\n",
"ts5_define_keyboard_button",
114 "button release", button,
"is already defined");
117 _ts5_status.timer.keyboard_is_response_device = 1;
118 _ts5_status.timer.num_defined_buttons++;
119 _ts5_status.timer.num_active_buttons++;
120 _ts5_status.timer.keyboard.num_defined_buttons++;
121 _ts5_status.timer.keyboard.num_active_buttons++;
125 _ts5_status.timer.keyboard.button_press_defined[button-1] =
126 _ts5_status.timer.num_defined_buttons;
128 _ts5_status.timer.keyboard.button_press_active[button-1] =
129 _ts5_status.timer.num_defined_buttons;
132 _ts5_status.timer.keyboard.button_release_defined[-button-1] =
133 _ts5_status.timer.num_defined_buttons;
135 _ts5_status.timer.keyboard.button_release_active[-button-1] =
136 _ts5_status.timer.num_defined_buttons;
139 return _ts5_status.timer.num_defined_buttons;
154 ts5_log(TS5_LOGLEVEL_4,
"ts5_get_num_keyboard_buttons()\n");
156 return _ts5_status.timer.keyboard.num_buttons;
int ts5_define_keyboard_button(int button)
Define a keyboard button as a response button.
void ts5_log(const unsigned int level, const char *format,...)
Send info to a logging window.
void ts5_check_keyboard(char *calling_function)
Do some checks at the start of each keyboard function.
void ts5_fatal(const char *format,...)
Exit safely with an error message.
int ts5_get_num_keyboard_buttons()
Get the number of buttons available on the keyboard.