Linux でコンソール プログラムのコマンド ライン インターフェイスを作成しています。その中で矢印のようなキーを使えるようにしたいです。コードをキャプチャするために、次の単純なプログラムを使用しています。
int main()
{
int c = 0;
while (c != 3) { // ctrl-c
c = getchar();
printf("%d\n", c);
}
}
これを行うと、HOME キーの取得に問題がありました。あるコンピューターではシーケンス「27 91 72」が得られ、別のコンピューターでは「27 79 72」が得られ、3 番目のコンピューターでは「27 91 49 126」が得られました。
HOME キーと END キーで異なるコードを取得する理由がわかりません (矢印キーと F1 ~ F12 キーは、3 台のコンピューターで同じシーケンスを示しました)。
このキーを取得する標準的な方法、またはすべてのマシンで同じシーケンスを提供する何らかの構成はありますか?