summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjStmaX! <87650746+jstmaxlol@users.noreply.github.com>2025-08-20 16:10:28 +0200
committerGitHub <noreply@github.com>2025-08-20 16:10:28 +0200
commit0b670cd6b47b17f19dc9df2f0e43221d4c7e6738 (patch)
tree7e18caeda9e22237cc6680fab4691e8e8a452976
parented420b2f6188e48479329d8d5be4d06e61ceadfd (diff)
random utils in /usr/bin because dementia :e
-rw-r--r--key.cpp46
-rw-r--r--tmux101_print.cpp20
2 files changed, 66 insertions, 0 deletions
diff --git a/key.cpp b/key.cpp
new file mode 100644
index 0000000..cc3441b
--- /dev/null
+++ b/key.cpp
@@ -0,0 +1,46 @@
+#include <iostream>
+#include <termios.h>
+#include <unistd.h>
+#include <escape.ansi>
+
+char getch() {
+ struct termios oldt, newt;
+ char ch;
+ tcgetattr(STDIN_FILENO, &oldt); // Get the current terminal settings
+ newt = oldt; // Copy the settings
+ newt.c_lflag &= ~(ICANON | ECHO); // Disable canonical mode and echo
+ tcsetattr(STDIN_FILENO, TCSANOW, &newt); // Set the new settings
+ ch = getchar(); // Read a character
+ tcsetattr(STDIN_FILENO, TCSANOW, &oldt); // Restore the old settings
+ return ch;
+}
+
+int main() {
+ std::cout << "Press " << red << "any key" << def << " to see its ASCII keycode. | Press " << red << "ESC" << def << " to exit." << std::endl;
+
+ while (true) {
+ char ch = getch(); // Get a character from the user
+
+ // Check for ESC key to exit
+ if (ch == 27) { // ASCII code for ESC
+ std::cout << "ESC = 27\n" << red << "Quitting ..\n" << def;
+ break;
+ }
+
+ if (ch == 32) {
+ std::cout << "SPACEBAR = " << static_cast<int>(ch) << std::endl;
+ } else if (ch == 9) {
+ std::cout << "TAB = " << static_cast<int>(ch) << std::endl;
+ } else if (ch == 127) {
+ std::cout << "BACKSPACE = " << static_cast<int>(ch) << std::endl;
+ } else if (ch == 10) {
+ std::cout << "ENTER = " << static_cast<int>(ch) << std::endl;
+ } else {
+ // Output pressed key
+ std::cout << ch << " = " << static_cast<int>(ch) << std::endl;
+ }
+ }
+
+ return 0;
+}
+
diff --git a/tmux101_print.cpp b/tmux101_print.cpp
new file mode 100644
index 0000000..14dc0ac
--- /dev/null
+++ b/tmux101_print.cpp
@@ -0,0 +1,20 @@
+#include <iostream>
+#include <escape.ansi>
+
+int main() {
+ std::cout
+ << "[ "<<red<<"TMUX 101 - Terminal MUltipleXer 101 "<<def<<"]\n"
+
+ << "[ "<<red<<"Basics "<<def<<"]\n"
+ << "> ^b -> Enter command mode ("<<yellow<<"ESC in VIM talk"<<def<<")\n"
+ << "[ "<<red<<"Sessions "<<def<<"]\n"
+ << "> ^b^c -> Open a new sesh\n"
+ << "> ^b^& -> Exit focused sesh (Same as 'exit' command)\n"
+ << "[ "<<red<<"Layout control "<<def<<"]\n"
+ << "> ^b^n -> Goes to next window\n"
+ << "> ^b^p -> Goes to previous window\n"
+ << "> ^b^% -> Horizontal split\n"
+ << "> ^b^' / ^b^("<<yellow<<"S"<<def<<"') -> Vertical split \n"
+ << "> ^b("<<yellow<<"*ArrowKey"<<def<<") -> Switch between panes\n"
+ ; return 0;
+}