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_keyb.c (0a6c24de500b3a1c647a75af9b58179fb661f3f1) (865B) (mode 100644) [raw]
/*
 ============================================================================
 Name        : test_keyb.c
 Author      : martin.dvorak@mindforger.com
 Copyright   : Apache 2.0
 Description : A test
 ============================================================================
*/

#include <stdio.h>
#include <readline/readline.h>
#include <readline/chardefs.h>

// $ xev
//   ... get keycodes

void echo_printable_characters()
{
    int c;
    for(c=0; c<255; c++) {
        printf("Key number: '%3d' / Char: '%c' Meta: \n", c, c, c&meta_character_bit);
    }
}

void echo_keyb_characters() 
{
    int c;
    while(1) {
        c = getc(stdin);
        printf("Key number: '%3d' / Char: '%c' Meta: %d Ctrl: %d Ctrl mask: %d\n", c, c, META_CHAR(c), CTRL_CHAR(c), c&control_character_mask);
    }
}

int main(int argc, char *argv[])
{
    echo_keyb_characters();
}
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