• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Wintersemester 2025/26
      • Systemprogrammierung 2
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
      • Projekt angewandte Systemsoftwaretechnik
      • Aktuelle Entwicklung in Verteilten und Objektorientierten Betriebssystemen (für Bachelor-/Masterarbeit)
    • Sommersemester 2026
      • Applied Software Architecture
      • Betriebssystemsicherheit
      • Betriebssystemtechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verlässliche Echtzeitsysteme
      • Verteilte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssystemtechnik
    • Vorlesung
      • Folien
      • Glossar
    • Übung
      • Aufgaben
      • Dokumentation
        • Blog
          • Entwicklungsumgebung
            • Assembler Crashkurs
              • C++ Crashkurs
                • 🔗 Testrechnerverwaltung
                • Kontakt
              • Evaluation

              Dokumentation

              Public Types | Public Member Functions | Public Attributes | List of all members
              Key Struct Reference

              Class that abstracts a key, made up of the scan code and the modifier bits. More...

              #include <object/key.h>

              Public Types

              enum  Scancode : uint8_t {
                KEY_INVALID = 0 ,
                KEY_ESCAPE ,
                KEY_1 ,
                KEY_2 ,
                KEY_3 ,
                KEY_4 ,
                KEY_5 ,
                KEY_6 ,
                KEY_7 ,
                KEY_8 ,
                KEY_9 ,
                KEY_0 ,
                KEY_DASH ,
                KEY_EQUAL ,
                KEY_BACKSPACE ,
                KEY_TAB ,
                KEY_Q ,
                KEY_W ,
                KEY_E ,
                KEY_R ,
                KEY_T ,
                KEY_Y ,
                KEY_U ,
                KEY_I ,
                KEY_O ,
                KEY_P ,
                KEY_OPEN_BRACKET ,
                KEY_CLOSE_BRACKET ,
                KEY_ENTER ,
                KEY_LEFT_CTRL ,
                KEY_A ,
                KEY_S ,
                KEY_D ,
                KEY_F ,
                KEY_G ,
                KEY_H ,
                KEY_J ,
                KEY_K ,
                KEY_L ,
                KEY_SEMICOLON ,
                KEY_APOSTROPH ,
                KEY_GRAVE_ACCENT ,
                KEY_LEFT_SHIFT ,
                KEY_BACKSLASH ,
                KEY_Z ,
                KEY_X ,
                KEY_C ,
                KEY_V ,
                KEY_B ,
                KEY_N ,
                KEY_M ,
                KEY_COMMA ,
                KEY_PERIOD ,
                KEY_SLASH ,
                KEY_RIGHT_SHIFT ,
                KEY_KP_STAR ,
                KEY_LEFT_ALT ,
                KEY_SPACEBAR ,
                KEY_CAPS_LOCK ,
                KEY_F1 ,
                KEY_F2 ,
                KEY_F3 ,
                KEY_F4 ,
                KEY_F5 ,
                KEY_F6 ,
                KEY_F7 ,
                KEY_F8 ,
                KEY_F9 ,
                KEY_F10 ,
                KEY_NUM_LOCK ,
                KEY_SCROLL_LOCK ,
                KEY_KP_7 ,
                KEY_KP_8 ,
                KEY_KP_9 ,
                KEY_KP_DASH ,
                KEY_KP_4 ,
                KEY_KP_5 ,
                KEY_KP_6 ,
                KEY_KP_PLUS ,
                KEY_KP_1 ,
                KEY_KP_2 ,
                KEY_KP_3 ,
                KEY_KP_0 ,
                KEY_KP_PERIOD ,
                KEY_SYSREQ ,
                KEY_EUROPE_2 ,
                KEY_F11 ,
                KEY_F12 ,
                KEY_KP_EQUAL ,
                KEYS ,
                KEY_DIV = KEY_7 ,
                KEY_DEL = KEY_KP_PERIOD ,
                KEY_UP = KEY_KP_8 ,
                KEY_DOWN = KEY_KP_2 ,
                KEY_LEFT = KEY_KP_4 ,
                KEY_RIGHT = KEY_KP_6
              }
               The keys' scan codes (code 1) More...
               

              Public Member Functions

               Key ()
               Default constructor: Instantiates an invalid key by setting ASCII, scan code, and modifier bits to 0.
               
              bool valid () const
               Invalid keys have a scancode = 0.
               
              void invalidate ()
               Marks the key as invalid by setting the scan code to 0.
               
              unsigned char ascii () const
               Get the key's ASCII value.
               
              bool alt () const
               Indicates whether the ALT modifier is set.
               
              bool ctrl () const
               Indicates whether the CTRL modifier is set.
               
               operator char () const
               Conversion to char (ASCII code)
               

              Public Attributes

              Scancode scancode
               
              bool shift: 1
               
              bool alt_left: 1
               
              bool alt_right: 1
               
              bool ctrl_left: 1
               
              bool ctrl_right: 1
               
              bool caps_lock: 1
               
              bool num_lock: 1
               
              bool scroll_lock: 1
               

              Detailed Description

              Class that abstracts a key, made up of the scan code and the modifier bits.

              Member Enumeration Documentation

              enum Key::Scancode : uint8_t

              The keys' scan codes (code 1)

              Enumerator
              KEY_INVALID 
              KEY_ESCAPE 
              KEY_1 
              KEY_2 
              KEY_3 
              KEY_4 
              KEY_5 
              KEY_6 
              KEY_7 
              KEY_8 
              KEY_9 
              KEY_0 
              KEY_DASH 
              KEY_EQUAL 
              KEY_BACKSPACE 
              KEY_TAB 
              KEY_Q 
              KEY_W 
              KEY_E 
              KEY_R 
              KEY_T 
              KEY_Y 
              KEY_U 
              KEY_I 
              KEY_O 
              KEY_P 
              KEY_OPEN_BRACKET 
              KEY_CLOSE_BRACKET 
              KEY_ENTER 
              KEY_LEFT_CTRL 
              KEY_A 
              KEY_S 
              KEY_D 
              KEY_F 
              KEY_G 
              KEY_H 
              KEY_J 
              KEY_K 
              KEY_L 
              KEY_SEMICOLON 
              KEY_APOSTROPH 
              KEY_GRAVE_ACCENT 
              KEY_LEFT_SHIFT 
              KEY_BACKSLASH 
              KEY_Z 
              KEY_X 
              KEY_C 
              KEY_V 
              KEY_B 
              KEY_N 
              KEY_M 
              KEY_COMMA 
              KEY_PERIOD 
              KEY_SLASH 
              KEY_RIGHT_SHIFT 
              KEY_KP_STAR 
              KEY_LEFT_ALT 
              KEY_SPACEBAR 
              KEY_CAPS_LOCK 
              KEY_F1 
              KEY_F2 
              KEY_F3 
              KEY_F4 
              KEY_F5 
              KEY_F6 
              KEY_F7 
              KEY_F8 
              KEY_F9 
              KEY_F10 
              KEY_NUM_LOCK 
              KEY_SCROLL_LOCK 
              KEY_KP_7 
              KEY_KP_8 
              KEY_KP_9 
              KEY_KP_DASH 
              KEY_KP_4 
              KEY_KP_5 
              KEY_KP_6 
              KEY_KP_PLUS 
              KEY_KP_1 
              KEY_KP_2 
              KEY_KP_3 
              KEY_KP_0 
              KEY_KP_PERIOD 
              KEY_SYSREQ 
              KEY_EUROPE_2 
              KEY_F11 
              KEY_F12 
              KEY_KP_EQUAL 
              KEYS 
              KEY_DIV 
              KEY_DEL 
              KEY_UP 
              KEY_DOWN 
              KEY_LEFT 
              KEY_RIGHT 

              Constructor & Destructor Documentation

              Key::Key ( )
              inline

              Default constructor: Instantiates an invalid key by setting ASCII, scan code, and modifier bits to 0.

              Member Function Documentation

              bool Key::valid ( ) const
              inline

              Invalid keys have a scancode = 0.

              Returns
              Checks whether a key is valid.
              void Key::invalidate ( )
              inline

              Marks the key as invalid by setting the scan code to 0.

              unsigned char Key::ascii ( ) const

              Get the key's ASCII value.

              Returns
              the key's ASCII value
              bool Key::alt ( ) const
              inline

              Indicates whether the ALT modifier is set.

              Returns
              true if ALT key was pressed during key press
              bool Key::ctrl ( ) const
              inline

              Indicates whether the CTRL modifier is set.

              Returns
              true if CTRL key was pressed during key press
              Key::operator char ( ) const
              inline

              Conversion to char (ASCII code)

              Member Data Documentation

              Scancode Key::scancode
              bool Key::shift
              bool Key::alt_left
              bool Key::alt_right
              bool Key::ctrl_left
              bool Key::ctrl_right
              bool Key::caps_lock
              bool Key::num_lock
              bool Key::scroll_lock

              The documentation for this struct was generated from the following files:
              • object/key.h
              • object/key.cc
              Friedrich-Alexander-Universität
              Erlangen-Nürnberg

              Schlossplatz 4
              91054 Erlangen
              • Impressum
              • Datenschutz
              • Barrierefreiheit
              • Facebook
              • RSS Feed
              • Xing
              Nach oben