SDK Manager не удалось установить & # 39; java.exe & # 39; блокировка каталога

Из документации для CGEventCreateKeyboardEvent:

Необходимо ввести все нажатия клавиш, необходимые для создания символа, включая клавиши-модификаторы. Например, чтобы создать «Z», клавиша SHIFT должна быть нажата, клавиша «z» должна опускаться, а затем клавиши SHIFT и «z» должны быть освобождены:

Таким образом, вы не можете просто нажать и освободить место с помощью модификатора опции, чтобы вызвать дополнительное пространство; вам нужно нажать опцию, нажать пробел, освободить место, вариант выпуска.

Как побочная заметка, opt-space по умолчанию ничего не делает; cmd-space - это горячая клавиша поиска Spotlight, а cmd-opt-space - горячая клавиша окна Spotlight.

Итак, этот код выведет поиск Spotlight:

- (void)execute {
  CGEventSourceRef src = 
    CGEventSourceCreate(kCGEventSourceStateHIDSystemState);

  CGEventRef cmdd = CGEventCreateKeyboardEvent(src, 0x38, true);
  CGEventRef cmdu = CGEventCreateKeyboardEvent(src, 0x38, false);
  CGEventRef spcd = CGEventCreateKeyboardEvent(src, 0x31, true);
  CGEventRef spcu = CGEventCreateKeyboardEvent(src, 0x31, false);

  CGEventSetFlags(spcd, kCGEventFlagMaskCommand);
  CGEventSetFlags(spcu, kCGEventFlagMaskCommand);

  CGEventTapLocation loc = kCGHIDEventTap; // kCGSessionEventTap also works
  CGEventPost(loc, cmdd);
  CGEventPost(loc, spcd);
  CGEventPost(loc, spcu);
  CGEventPost(loc, cmdu);

  CFRelease(cmdd);
  CFRelease(cmdu);
  CFRelease(spcd);
  CFRelease(spcu);
  CFRelease(src);  
}
13
задан jnthnjns 27 November 2012 в 16:23
поделиться