Как отправить нажатие клавиши с модификатором сдвига?

Это немного вопрос новичка, но тем не менее. Итак, в основном я хочу отправить нажатие клавиши с помощью библиотеки DigiKeyboard, но с зажатым сдвигом. Я просмотрел код и увидел этот комментарий в scancode-ascii-table.h:

// Формат: старший значащий бит указывает, следует ли отправлять скан-код с модификатором сдвига
remaining 7 bits are to be used as scan code number.

Я не очень понимаю, где это указывать, будь то при вызове функции sendKeyStroke или где-то в коде. Помощь приветствуется.

, 👍0

Обсуждение

что для вас значит «самый значащий бит»?, @jsotola


1 ответ


Лучший ответ:

0

Я никогда не пользовался этой библиотекой, но в заголовочном файле есть вот такие константы для модификаторов:

#define MOD_CONTROL_LEFT    (1<<0)
#define MOD_SHIFT_LEFT      (1<<1)
#define MOD_ALT_LEFT        (1<<2)
#define MOD_GUI_LEFT        (1<<3)
#define MOD_CONTROL_RIGHT   (1<<4)
#define MOD_SHIFT_RIGHT     (1<<5)
#define MOD_ALT_RIGHT       (1<<6)
#define MOD_GUI_RIGHT       (1<<7)

и функция

void sendKeyStroke(byte keyStroke, byte modifiers)

поэтому я бы использовал это, чтобы отправить ключ с Shift вот так

sendKeyStroke(KEY_F2, MOD_SHIFT_LEFT);
,

Ооооо спасибо! Это отлично работает!, @Blupper