Difference between r1.12 and the current
@@ -1,5 +1,10 @@
#noindex
##=====키보드,keyboard =,keyboard 키보드 keyboard
{
[[키key]] - DB내용은 일단 저기로
##=====키보드,keyboard =,keyboard 키보드 keyboard
(tmp) keyboard에 있는 '공용으로 쓰이는 기호들'(??) 정확한명칭 TBD
' : apostrophe, 작은따옴표
- : minus sign, dash, hyphen
...
----
[[키,key]] =키,key =,key 키 key{
[[키key]] - DB내용은 일단 저기로
(tmp) keyboard에 있는 '공용으로 쓰이는 기호들'(??) 정확한명칭 TBD
' : apostrophe, 작은따옴표
- : minus sign, dash, hyphen
...
' : apostrophe, 작은따옴표
- : minus sign, dash, hyphen
...
키,key =키,key =,key 키 key
{
키key - DB내용은 일단 저기로
키보드의 키 내용(아래), 자료구조(dictionary/associative_array/...)/cryptography(hash_function/....)/... 의 key는 나중에 어디에 어떻게 배치할지 tbw
{
키key - DB내용은 일단 저기로
키보드의 키 내용(아래), 자료구조(dictionary/associative_array/...)/cryptography(hash_function/....)/... 의 key는 나중에 어디에 어떻게 배치할지 tbw
dead_key
https://ko.wikipedia.org/wiki/데드_키
Dead_key ppppppp
modifier_key
https://ko.wikipedia.org/wiki/수식키
https://ko.wikipedia.org/wiki/데드_키
Dead_key ppppppp
"a special kind of modifier_key on a mechanical typewriter, or computer keyboard, that is typically used to attach a specific diacritic to a base letter."
modifier_keymodifier_key
https://ko.wikipedia.org/wiki/수식키
compose_key
or multi_key (wp)
https://ko.wikipedia.org/wiki/컴포즈_키
https://en.wikipedia.org/wiki/Compose_key
compose_key ? mmmmmmmm
or multi_key (wp)
https://ko.wikipedia.org/wiki/컴포즈_키
https://en.wikipedia.org/wiki/Compose_key
compose_key ? mmmmmmmm
keyboard_layout
https://en.wikipedia.org/wiki/Keyboard_layout
rel
input_method - 입력 방법|방식 input_method Up: 입력,input method
keyboard_input // keyboard_input Up: 키보드,keyboard 입력,input
입력기 = https://ko.wikipedia.org/wiki/입력기
https://en.wikipedia.org/wiki/Keyboard_layout
rel
input_method - 입력 방법|방식 input_method Up: 입력,input method
keyboard_input // keyboard_input Up: 키보드,keyboard 입력,input
입력기 = https://ko.wikipedia.org/wiki/입력기
return_key / enter_key
Windows_key =,Windows_key . Windows_key
{
https://everything2.com/title/windows key
windows+key
windows key
}
{
https://everything2.com/title/windows key
windows+key
windows key
}
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
}
//old, merge, moved from FrontPage
{
// mklink keyboard_interrupt =,keyboard_interrupt . keyboard_interrupt { keyboard interrupt 키보드 인터럽트 keyboard_interrupt x(2023-08-17) Keyboard_interrupt .... 키보드 인터럽트 키보드 인터럽트 키보드 인터럽트 keyboard interrupt keyboard interrupt Up: 키보드,keyboard 인터럽트,interrupt > 하드웨어인터럽트,hardware_interrupt }
{
// mklink keyboard_interrupt =,keyboard_interrupt . keyboard_interrupt { keyboard interrupt 키보드 인터럽트 keyboard_interrupt x(2023-08-17) Keyboard_interrupt .... 키보드 인터럽트 키보드 인터럽트 키보드 인터럽트 keyboard interrupt keyboard interrupt Up: 키보드,keyboard 인터럽트,interrupt > 하드웨어인터럽트,hardware_interrupt }
16-bit IBM PC의 경우.
IRQ 1 사용.
키보드 버퍼,buffer는 0040:001E ~ 0040:003C (32 bytes)
0040:001A와 0040:001C의 두 개 포인터,pointer로 환형 queue를 이룸.
따라서 최대 16개의 키가 저장됨.
키보드 버퍼,buffer는 0040:001E ~ 0040:003C (32 bytes)
0040:001A와 0040:001C의 두 개 포인터,pointer로 환형 queue를 이룸.
0040:001A는, 프로그램이 키보드 입력을 요청할 때(getch등) 내어줄 문자를 가리킴.
0040:001C는, 다음에 키보드 입력이 있을 때 눌려진 키를 저장할 위치를 가리킴.
한 키가 2바이트씩으로 기록됨. (하나는 스캔코드, 하나는 아스키코드) // scan_code ascii_code0040:001C는, 다음에 키보드 입력이 있을 때 눌려진 키를 저장할 위치를 가리킴.
따라서 최대 16개의 키가 저장됨.
int 16h가 키보드 관련인듯.
키보드 버퍼에 키 코드 넣기 // keyboard_buffer
int 16h, ah=5h 사용
int 16h, ah=5h 사용
ch=입력할 스캔 코드
cl=입력할 아스키 코드
결과cl=입력할 아스키 코드
al=0: 성공, 아니면 실패
키보드 인터럽트 벡터가 9라고? 아님 인터럽트 번호?메모리 주소 0040:0017의 정보
메모리 주소 0040:0018의 정보
메모리 주소 0040:0096의 정보
메모리 주소 0040:0097의 정보
이런 것들을 peekb로 읽곤 한다.
bit | 정보 |
0 | right Shift pressed |
1 | left Shift pressed |
2 | either Ctrl pressed |
3 | either Alt pressed |
4 | ScrollLock active |
5 | NumLock active |
6 | CapsLock active |
7 | Insert active |
메모리 주소 0040:0018의 정보
bit | 정보 |
0 | left Ctrl pressed |
1 | left Alt pressed |
2 | SysRq pressed |
3 | Pause state active |
4 | ScrollLock pressed |
5 | NumLock pressed |
6 | CapsLock pressed |
7 | Insert pressed |
메모리 주소 0040:0096의 정보
bit | 정보 |
0 | last code read was E1h |
1 | last code read was E0h 이게 무슨 의미?? |
2 | right Ctrl pressed |
3 | right Alt pressed |
4 | enhanced keyboard installed - 뜻은? |
5 | force NumLock if read-ID and enhanced keyboard (?) |
6 | last code read was first of two ID codes (?) |
7 | read-ID in progress |
메모리 주소 0040:0097의 정보
bit | 정보 |
0 | ScrollLock LED |
1 | NumLock LED |
2 | CapsLock LED |
3 | reserved, must be zero |
4 | ACK received from keyboard |
5 | RESEND received from keyboard |
6 | LED update in progress |
7 | keyboard transmit error flag |
이런 것들을 peekb로 읽곤 한다.
Ctrl-Break의 인터럽트 번호는 23h이다.
setvect/getvect 로 인터럽트 핸들러를 변경하거나 얻어온다. // interrupt_handler
setvect(int interruptno, void interrupt (*isr)());
void interrupt(*(int interruptno))();
void interrupt(*(int interruptno))();
}