/* # Copyright (c) 2009 - OpenSLX Project, Computer Center University of Freiburg # # This program is free software distributed under the GPL version 2. # See http://openslx.org/COPYING # # If you have any feedback please consult http://openslx.org/feedback and # send your suggestions, praise, or complaints to feedback@openslx.org # # General information about OpenSLX can be found at http://openslx.org/ # -------------------------------------------------------------------------- # magicSysRqHandler.h # - Trigger Magic-SysRq functions - interface # -------------------------------------------------------------------------- */ #ifndef MAGICSYSRQHANDLER_H_ #define MAGICSYSRQHANDLER_H_ #include "inputEventHandler.h" class MagicSysRqHandler : public DefaultInputEventHandler { public: void handle(InputEvent const& evt, InputEventContext const* ctx); static void describeInto(QList& list) { list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Reboot immediately"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'b'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Crash system"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'c'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Show all held logs"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'd'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Send SIGTERM to all"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'e'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Activate OOM killer"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'f'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Send SIGKILL to all"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'i'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Force thaw filesystems"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'j'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Kill all on terminal"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'k'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Show stack traces"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'l'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump memory info"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'm'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Make real-time tasks niceable"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'n'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Power off immediately"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'o'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump registers and flags"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'p'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump timers and clockevents"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'q'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Turn off raw keyboard mode"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'r'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Sync all mounted filesystems"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 's'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump task list"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 't'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Remount all read-only"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'u'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump uninterruptible tasks"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'w'); list << SpecialInputEventDescription(QCoreApplication::translate("InputEventHandler", "Dump ftrace buffer"), InputEvent::ET_SPECIAL, InputEvent::EC_SYSRQ, 'z'); } }; #endif /* MAGICSYSRQHANDLER_H_ */