24 pthread_mutex_lock(
imutex(kb));
30 pthread_mutex_unlock(
imutex(kb));
35 { 0x07, 0x05, 2, 0, 0x03, 0x00 }
53 msg[1][4 + pair * 2] =
key;
54 msg[1][5 + pair * 2] = action;
90 else if(!strcmp(
keymap[
key].name,
"light"))
92 else if(!strcmp(
keymap[
key].name,
"lock"))
95 msg[1][4 + pair * 2] =
key;
96 msg[1][5 + pair * 2] = action;
110 kb->
vtable->updateindicators(kb, 0);
#define nk95cmd(kb, command)
nk95cmd() macro is used to wrap _nk95cmd() with debugging information (file and lineno). the command structure is different: Just the bits 23..16 are used as bits 7..0 for bRequest Bits 15..0 are used as wValue
void setmodeindex_nrgb(usbdevice *kb, int index)
#define DELAY_MEDIUM(kb)
the medium delay is used after sending a command before waiting for the answer.
const key keymap[(((152+22+12)+25)+12)]
#define NK95_M1
Switch to mode 1.
#define NK95_M3
Switch to mode 3.
#define NK95_HWOFF
Hardware-specific commands for the K95 nonRGB,.
int cmd_idle_kb(usbdevice *kb, usbmode *dummy1, int dummy2, int dummy3, const char *dummy4)
int start_kb_nrgb(usbdevice *kb, int makeactive)
#define NEEDS_FW_UPDATE(kb)
#define NK95_M2
Switch to mode 2.
const union devcmd * vtable
int setactive_kb(usbdevice *kb, int active)
Definitions for using USB interface.
#define usbsend(kb, messages, count)
usbsend macro is used to wrap _usbsend() with debugging information (file and lineno) ...
uchar keys[((((152+22+12)+25)+7)/8)]
int cmd_active_kb(usbdevice *kb, usbmode *dummy1, int dummy2, int dummy3, const char *dummy4)