Difference between r1.3 and the current
@@ -1,7 +1,15 @@
[[키,key]]
#noindex
##=====키보드,keyboard =,keyboard 키보드 keyboard
(tmp) keyboard에 있는 '공용으로 쓰이는 기호들'(??) 정확한명칭 TBD
' : apostrophe, 작은따옴표
- : minus sign, dash, hyphen
...
----
[[키,key]] =키,key =,key 키 key
{[[키key]] - DB내용
[[키key]] - DB내용은 일단 저기로
''키보드의 키 내용(아래), 자료구조(dictionary/associative_array/...)/cryptography(hash_function/....)/... 의 key는 나중에 어디에 어떻게 배치할지 tbw'' [[Date(2024-08-11T12:19:29)]] [[키,key]]는 뜻이 많으므로 keyboard의 그것은 [[글쇠,key]]페이지로 할까?
----
@@ -10,8 +18,8 @@
dead_key
https://ko.wikipedia.org/wiki/데드_키
WpEn:Dead_key
WpEn: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_key
WtEn:modifier_key
@@ -21,10 +29,12 @@
or multi_key (wp)
https://ko.wikipedia.org/wiki/컴포즈_키
https://en.wikipedia.org/wiki/Compose_key
AltGr_key
https://ko.wikipedia.org/wiki/AltGr_키
Up: modifier_key
keyboard_layout
https://en.wikipedia.org/wiki/Keyboard_layout
https://ko.wikipedia.org/wiki/컴포즈_키
https://en.wikipedia.org/wiki/Compose_key
WtEn:compose_key ? mmmmmmmm
AltGr_key
https://ko.wikipedia.org/wiki/AltGr_키
Up: modifier_key
WtEn:AltGr_key ? iiiii
keyboard_layout
https://en.wikipedia.org/wiki/Keyboard_layout
@@ -33,11 +43,30 @@
keyboard_input // Srch:keyboard_input Up: [[키보드,keyboard]] [[입력,input]]
[[WpKo:입력기]] = https://ko.wikipedia.org/wiki/입력기
}
----
//old, merge, moved from [[FrontPage]]
{
16-bit IBM PC의 경우.
[[WpKo:입력기]] = https://ko.wikipedia.org/wiki/입력기
delete_key
https://en.wikipedia.org/wiki/Delete_key
backspace / backspace_key
return_key / enter_key
[[Windows_key]] =,Windows_key . Windows_key
{
https://everything2.com/title/windows+key
windows+key
Ggl:windows+key
}
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
키보드의 키 여기추가 QQQQQ
----
//old, merge, moved from [[FrontPage]]
{
// mklink [[keyboard_interrupt]] =,keyboard_interrupt . keyboard_interrupt { keyboard interrupt 키보드 인터럽트 WtEn:keyboard_interrupt x([[Date(2023-08-16T19:19:43)]]) WpEn:Keyboard_interrupt .... Bing:"키보드 인터럽트" Ndict:"키보드 인터럽트" Ggl:"키보드 인터럽트" Bing:"keyboard interrupt" Ggl:"keyboard interrupt" Up: [[키보드,keyboard]] [[인터럽트,interrupt]] }
// mklink [[keyboard_interrupt]] =,keyboard_interrupt . keyboard_interrupt { keyboard interrupt 키보드 인터럽트 WtEn:keyboard_interrupt x([[Date(2023-08-16T19:19:43)]]) WpEn:Keyboard_interrupt .... Bing:"키보드 인터럽트" Ndict:"키보드 인터럽트" Ggl:"키보드 인터럽트" Bing:"keyboard interrupt" Ggl:"keyboard interrupt" Up: [[키보드,keyboard]] [[인터럽트,interrupt]] > [[하드웨어인터럽트,hardware_interrupt]] }
16-bit IBM PC의 경우.
@@ -91,8 +120,8 @@
||2 ||right Ctrl pressed ||
||3 ||right Alt pressed ||
||4 ||enhanced keyboard installed - 뜻은? ||
메모리 주소 0040:0097의 정보
||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 (?)
||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의 정보
@@ -116,3 +145,8 @@
void interrupt(*(int interruptno))();
}
}
----
https://en.wikipedia.org/wiki/Computer_keyboard
p TheKeyboardHw
https://namu.wiki/w/키보드
(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))();
}