#include <stdio.h>
#include <unistd.h>
#include <termios.h>
static struct termios t_orig;
char Get_Key(){
char c;

begin_getch();
c = getch();
return(c);
}
int begin_getch() {
struct termios t;
tcgetattr( 0, &t );
t_orig = t;
t.c_lflag &= ~(ICANON|ECHO);
t.c_cc[VMIN] = 1;
tcsetattr( 0, TCSADRAIN, &t );
}
int getch() {
char c;
int status = read( 0, &c, sizeof(char) );
return status ? c : (char)status;
}
getchの返り値をunsigned charにキャストして、
printfかなんかで16進数に印字して一文字づつ見てみるといいかも
Ubuntuでできるかは知らないけど。