xaizek / hstr (License: Apachev2) (since 2018-12-07)
Bash and Zsh shell history suggest box - easily view, navigate, search and manage your command history.
<root> / tests / src / test_curses_keyb.c (873ba19d3fc60a09af95dc455c0963d66e120543) (934B) (mode 100644) [raw]
/*
 ============================================================================
 Name        : test_curses_keyb.c
 Author      : martin.dvorak@midforger.com
 Copyright   : Apache 2.0
 Description : A test
 ============================================================================
*/

#include <curses.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
	initscr();
	noecho();
	keypad(stdscr, TRUE);

	int c;
	while(TRUE) {
		c = getch();

		mvprintw(1, 0, "Key number: '%3d' / Char: '%c'", c, c);

		switch(c) {
		// ctrl-r, ctrl-h, ctrl-i
		case KEY_BACKSPACE:
		case KEY_LEFT:
		case KEY_RIGHT:
		case KEY_UP:
		case KEY_DOWN:
			mvprintw(5, 0, "CATCHED! %3d",c);
			break;

		case KEY_STAB:
		case KEY_BTAB:
		case KEY_CTAB:
			mvprintw(5, 0, "TAB! %3d",c);
			break;

		case KEY_RESIZE:
			mvprintw(5, 0, "RESIZE! %3d",c);
			break;

		case KEY_ENTER:
			endwin();
			exit(0);
		default:
			break;
		}
	}

	endwin();
}
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/hstr

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/hstr

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master