• 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
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • 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)
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssysteme

    Aufgabe 2: Unterbrechungen

    Public Member Functions | Public Attributes | List of all members
    Mouse Class Reference
    I/O subsystem

    Handles mouse movements and clicks. More...

    #include <device/mouse.h>

    + Inheritance diagram for Mouse:
    [legend]
    + Collaboration diagram for Mouse:
    [legend]

    Public Member Functions

     Mouse (unsigned max_x, unsigned max_y)
     Constructor. More...
     
    void getPos (unsigned &x, unsigned &y) const
     Retrieve the current mouse position. More...
     
    bool isPressed (MouseButton btn) const
     Check if a given mouse button is pressed. More...
     
    void plugin ()
     Initialization of the mouse. More...
     
    void trigger ()
     Handling of mouse interrupts. More...
     
    - Public Member Functions inherited from Gate
     Gate ()
     Constructor.
     
    virtual ~Gate ()
     Destructor. More...
     
    virtual void trigger ()=0
     Device-specific interrupt handler. More...
     

    Public Attributes

    const unsigned MAX_X
     Maximum X position of the mouse.
     
    const unsigned MAX_Y
     Maximum Y position of the mouse.
     

    Detailed Description

    Handles mouse movements and clicks.

    This class ensures correct initialization of the mouse and, above all, its interrupt handling.

    Constructor & Destructor Documentation

    Mouse::Mouse ( unsigned  max_x,
    unsigned  max_y 
    )
    inlineexplicit

    Constructor.

    Defines a virtual window for the mouse.

    Parameters
    max_xMaximum X position (excluding) for the mouse
    max_yMaximum Y position (excluding) for the mouse

    Member Function Documentation

    void Mouse::getPos ( unsigned &  x,
    unsigned &  y 
    ) const
    inline

    Retrieve the current mouse position.

    Parameters
    xReference to variable for the X position (0 ≤ x < MAX_X) of the mouse
    yReference to variable for the Y position (0 ≤ y < MAX_Y) of the mouse
    Optional:
    Implement method
    bool Mouse::isPressed ( MouseButton  btn) const
    inline

    Check if a given mouse button is pressed.

    Parameters
    btnButton to check for press
    Returns
    true if button is currently pressed
    Optional:
    Implement method
    void Mouse::plugin ( )

    Initialization of the mouse.

    Initialization of the mouse and activation of the specific interrupt handling: The object will register itself at the Plugbox and configure the IOAPIC to receive the corresponding interrupts.

    Note
    The mouse interrupts should be configured as level triggered.
    Optional:
    Implement method
    void Mouse::trigger ( )
    virtual

    Handling of mouse interrupts.

    Processes interrupts triggered by the mouse.

    Optional:
    Implement Method

    Implements Gate.


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

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