Технические вопросы и ответы QA1519

Обнаружение клавиши Caps Lock

Q: Когда клавиша Caps Lock включается или выключается в моем приложении Какао, как я обнаруживаю?

A: Необходимо реализовать flagsChanged: для обнаружения этого ключа.

NSResponder keyDown: и keyUp: когда просто модифицирующая клавиша нажимается, методы не стреляют. Таким образом, если Вы захотите поймать это событие, то необходимо будет переопределить:

- (void)flagsChanged:(NSEvent*) и исследуйте NSEvent оттуда.

flagsChanged: метод прибывает из NSResponder, таким образом, любой респондент в цепочке респондента может реагировать на него.

Перечисление 1  , Обнаруживающее клавишу Caps Lock.

- (void)flagsChanged:(NSEvent*)event
{
    if ([event keyCode] == 0x39) // 57 = key code for caps lock
    {
        NSUInteger flags = [event modifierFlags];
        if (flags & NSAlphaShiftKeyMask)
            NSLog(@"capsLock on");
        else
            NSLog(@"capsLock off");
    }
}

Связанная документация



История версии документа


ДатаПримечания
28.01.2013

Восстановленные устаревшие ссылки к документации.

11.05.2007

Новый документ, объясняющий, как обнаружить, когда клавиша Caps Lock включается и выключается.