41 ckb_warn(
"Unable to load firmware version/poll rate\n");
56 ckb_info(
"Device needs a firmware update. Please issue a fwupdate command.\n");
70 ckb_warn(
"Unable to load hardware profile\n");
81 for(
unsigned i = 1; i <
DEV_MAX; i++){
82 devlistpos += sprintf(&devlist[devlistpos],
"%u: 0x%x; ", i, keyboard[i].product);
84 ckb_info(
"Attached Devices: %s\n", devlist);
int start_dev(usbdevice *kb, int makeactive)
usbdevice keyboard[9]
remember all usb devices. Needed for closeusb().
pthread_mutex_t macromutex2[9]
Protecting the single link list of threads and the macrovar.
pthread_mutex_t devmutex[9]
Mutex for handling the usbdevice structure.
pthread_mutex_t devlistmutex
#define ckb_warn(fmt, args...)
#define ckb_info(fmt, args...)
#define USB_DELAY_DEFAULT
This constant is used to initialize kb->usbdelay. It is used in many places (see macros above) but of...
#define NEEDS_FW_UPDATE(kb)
int _start_dev(usbdevice *kb, int makeactive)
pthread_cond_t macrovar[9]
This variable is used to stop and wakeup all macro threads which have to wait.
int hwload_mode
hwload_mode = 1 means read hardware once. should be enough
#define HAS_FEATURES(kb, feat)
pthread_mutex_t inputmutex[9]
Mutex for dealing with usb input frames.
Definitions for using USB interface.
#define hwloadprofile(kb, apply)
pthread_mutex_t macromutex[9]
Protecting macros against lightning: Both use usb_send.
int getfwversion(usbdevice *kb)
#define setactive(kb, makeactive)
setactive() calls via the corresponding kb->vtable either the active() or the idle() function...