Я ищу способ создать небольшую панель с клавишами-модификаторами (например, shift, command) и иметь возможность щелкнуть по ней, как виртуальную клавиатуру.
Мне бы хотелось, чтобы это было так:
- нажмите на виртуальный ключ (shift).
- кнопка смены удерживается и удерживается нажатой.
- введите что-то с моей стандартной клавиатурой.
- нажмите еще раз на виртуальной клавише переключения, чтобы отпустить его.
вот код, который я использую:
CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateHIDSystemState);
CGEventRef shiftKeyDown = CGEventCreateKeyboardEvent(source, (CGKeyCode)56, YES);
CGEventRef shiftKeyUp = CGEventCreateKeyboardEvent(source, (CGKeyCode)56, NO);
CGEventPost(kCGAnnotatedSessionEventTap, shiftKeyDown);
CGEventPost(kCGAnnotatedSessionEventTap, shiftKeyUp);
CFRelease(shiftKeyUp);
CFRelease(shiftKeyDown);
CFRelease(source);
Я не могу найти способ держать его нажатым, пока не нажму на него в другой раз. Я, хотя кнопка "Push On Push Off" была ключевой, но, к сожалению, нет.: -)
любая помощь?
заблаговременно.