✅ 목표

PC에서 단일 키 입력을 받는 함수를 만들자.

✅ a,b,c,d 키 입력을 받아보자.

일단 a,b,c,d 4개만 구분해 보았다.

다른 키를 입력받으려면 코드를 좀더 수정하면 된다.

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <conio.h>

//void init_key(key_t* key, uint8_t pin_no);
uint16_t read_key();

uint16_t read_key() {
	uint16_t key_val = 0;

	if (_kbhit()) {
		key_val = (uint16_t)_getch();
	}
	return key_val;
}

int main(void) {

	static uint32_t tmp_cnt = 0; // 별 의미없음
	uint16_t key_val = 0;

	printf("Press a,b,c,d key...\\r\\n");

	while (true) {
		key_val = read_key();
		switch (key_val) {
			case 0x61: printf("[%d] %c : %x\\n", ++tmp_cnt, key_val, key_val); break;
			case 0x62: printf("[%d] %c : %x\\n", ++tmp_cnt, key_val, key_val); break;
			case 0x63: printf("[%d] %c : %x\\n", ++tmp_cnt, key_val, key_val); break;
			case 0x64: printf("[%d] %c : %x\\n", ++tmp_cnt, key_val, key_val); break;
				// 계속 추가하면 된다.
			//default : printf("key value not defined...\\n"); break;
		}
	}
	return 0;
}

Untitled