SYNOPSIS

#include <allegro.h>

extern volatile int key_shifts;

DESCRIPTION

Bitmask containing the current state of shift/ctrl/alt, the special Windows keys, and the accent escape characters. Wherever possible this value will be updated asynchronously, but if keyboard_needs_poll() returns TRUE, you must manually call poll_keyboard() to update it with the current input state. This can contain any of the flags:

   KB_SHIFT_FLAG
   KB_CTRL_FLAG
   KB_ALT_FLAG
   KB_LWIN_FLAG
   KB_RWIN_FLAG
   KB_MENU_FLAG
   KB_COMMAND_FLAG
   KB_SCROLOCK_FLAG
   KB_NUMLOCK_FLAG
   KB_CAPSLOCK_FLAG
   KB_INALTSEQ_FLAG
   KB_ACCENT1_FLAG
   KB_ACCENT2_FLAG
   KB_ACCENT3_FLAG
   KB_ACCENT4_FLAG

Example:

   if (key[KEY_W]) {
      if (key_shifts & KB_SHIFT_FLAG) {
         /* User is pressing shift + W. */
      } else {
         /* Hmmm... lower case W then. */
      }
   }

RELATED TO key_shifts…

install_keyboard(3alleg4), poll_keyboard(3alleg4), key(3alleg4), excamera(3alleg4), exkeys(3alleg4)