31 #ifndef FTERMOPENBSD_H 32 #define FTERMOPENBSD_H 34 #if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT) 35 #error "Only <final/final.h> can be included directly." 38 #include <sys/ioctl.h> 40 #if defined(UNIT_TEST) 43 #define WSKBDIO_GETENCODING uInt32(0x4004570F) 44 #define WSKBDIO_SETENCODING uInt32(0x80045710) 45 #define WSKBDIO_GETDEFAULTBELL uInt32(0x40105706) 46 #define WSKBDIO_SETBELL uInt32(0x80105703) 47 #define WSKBD_BELL_DOPITCH 0x1 // get/set pitch 48 #define WSKBD_BELL_DOPERIOD 0x2 // get/set period 49 #define WSKBD_BELL_DOVOLUME 0x4 // get/set volume 50 #define WSKBD_BELL_DOALL 0x7 // all of the above 52 using kbd_t = std::uint32_t;
54 struct wskbd_bell_data
61 #elif defined(__NetBSD__) || defined(__OpenBSD__) 63 #include <dev/wscons/wsconsio.h> 66 #include "final/util/fstring.h" 79 auto getClassName()
const ->
FString;
83 static auto isBSDConsole() -> bool;
86 static void disableMetaSendsEscape() noexcept;
87 static void enableMetaSendsEscape() noexcept;
92 static auto setBeep (
int,
int) -> bool;
93 static auto resetBeep() -> bool;
95 #if defined(__NetBSD__) || defined(__OpenBSD__) || defined(UNIT_TEST) 98 static void warnNotInitialized();
99 static auto saveBSDConsoleEncoding() -> bool;
100 static auto setBSDConsoleEncoding (kbd_t) -> bool;
101 static auto setBSDConsoleMetaEsc() -> bool;
102 static auto resetBSDConsoleEncoding() -> bool;
105 static kbd_t bsd_keyboard_encoding;
106 static bool meta_sends_escape;
107 #endif // defined(__NetBSD__) || defined(__OpenBSD__) || defined(UNIT_TEST) 113 inline auto FTermOpenBSD::getClassName()
const ->
FString 114 {
return "FTermOpenBSD"; }
117 #if defined(__NetBSD__) || defined(__OpenBSD__) || defined(UNIT_TEST) 118 inline void FTermOpenBSD::enableMetaSendsEscape() noexcept
119 { meta_sends_escape =
true; }
122 inline void FTermOpenBSD::disableMetaSendsEscape() noexcept
123 { meta_sends_escape =
false; }
125 #endif // defined(__NetBSD__) || defined(__OpenBSD__) || defined(UNIT_TEST) 129 #endif // FTERMOPENBSD_H Definition: class_template.cpp:25
Definition: ftermopenbsd.h:75