나는 매우 만족 하는 키보드 ( 아래 그림의 Logitech Wave )를 얻었 습니다. 불행히도 제조업체는 FN 키를 마우스 오른쪽 버튼으로 클릭하기 위해 버튼을 변경했습니다.
FN 키를 다른 것으로 다시 매핑하는 프로그램이 있습니까?
나는 매우 만족 하는 키보드 ( 아래 그림의 Logitech Wave )를 얻었 습니다. 불행히도 제조업체는 FN 키를 마우스 오른쪽 버튼으로 클릭하기 위해 버튼을 변경했습니다.
FN 키를 다른 것으로 다시 매핑하는 프로그램이 있습니까?
답변:
Fn 키를 다시 매핑하거나 비활성화 할 수 있습니까?
AutoHotKey와 같은 프로그램을 통해 Fn 조합을 다시 매핑하거나 Windows 용 키보드 스캔 코드를 파기하면 공격적인 키 조합 (Fn + Key)을 다시 매핑 할 수 있습니다. (이 답변을 더 자세히 참조하십시오).
Fn 키는 일반적으로 하드웨어 수준이므로이 수준에서는이 작업을 편집하거나 비활성화 할 수 없습니다.
[Fn] 일반적으로 별도의 코드를 생성하지 않는 하드웨어 키입니다.
출처 : UI Events Keyboard 이벤트 코드 값-W3C 후보 추천, 2017
비슷한 키에서 F-Lock, Jason Tsang, Microsoft MVP는 다음과 같이 말합니다.
F 잠금 키는 키보드의 하드웨어 스위치입니다. 상태는 프로그래밍 방식으로 제어 할 수 없습니다. 기본 조건은 "off"입니다. 결과적으로 키보드가 재설정되거나 전원이 꺼질 때마다 F 잠금 키는 항상 "꺼짐"상태가됩니다. 2004 년 9 월 이후에 출시 된 Microsoft 키보드의 경우 키보드를 재부팅해도 F Lock 상태가 유지됩니다.
출처 : Microsoft 키보드-F 잠금 키
Fn은 수정 자 Ctrl, Shift 및 AltGr과 같은 일반적인 키보드 키가 아닙니다. 표준 수정 자 키의 경우 키보드 내부의 마이크로 컨트롤러는 수정 자 자체에 대한 스캔 코드를 전송 한 다음 운영 체제에서 해석하여 다른 동시 키 누름과 결합합니다. Fn 키는 키보드의 다른 키를 누를 때 운영 체제가 변경된 스캔 코드를 볼 수 있도록하는 메타 수정 자 키의 한 형태입니다. 이를 통해 키보드는 풀 사이즈 키보드를 직접 에뮬레이션 할 수 있으므로 운영 체제는 풀 사이즈 키보드 용으로 설계된 표준 키맵을 사용할 수 있습니다. 그러나 운영 체제에는 Fn 키 개념이 없으므로 다른 표준 키보드 키와 달리 소프트웨어에서 키를 일반적으로 다시 매핑 할 수 없습니다.
출처-A) B) Wikipedia 게시물을 기반으로 한 Highrez 포럼 게시물
Fn 키를 매핑하는 것이 종종 불가능한 이유는 무엇입니까?
실제로 키보드는 다음과 같이 작동합니다 (값은 단지 예일 뿐이며 동작이 단순화 됨).
- 일반 키 : 전송 바이트 0x00 + 키 스캔 코드 바이트
- 수정 자 (alt / option, control, windows / command 및 fn) : 수정 자 스캔 코드 바이트 + 키 스캔 코드 바이트를 보냅니다.
- 특수 키 (예 : G15 키) : 표준 (볼륨 키와 같은) 또는 사용자 정의 (제조업체에 따라 다름) 스캔 코드를 보냅니다.
대부분의 "fn"키보드 (애플 포함)는 데이터를 보내기 전에 키 조합을 처리하기 때문에 fn 키를 눌렀다 놓으면 아무 것도 수행되지 않습니다. 예를 들면 다음과 같습니다.
- F1-> 스캔 코드 0x1A-> 운영 체제를 누르면 F1 키로 인식
- FN 및 F1을 누르면-> Scancode 0x9A-> 운영 체제가 VolumeUp 키로 인식
- FN-> 키보드 마이크로 컨트롤러를 누르면 데이터를 보내기 전에 다른 키를 기다립니다.
출처 : AutoHotKey 포럼
AutoHotKey의 한 포스터는 수사 학적 질문으로 시작됩니다.
I don't get any response when I press the Fn key.
fn 키는 신호를 보내지 않아야합니다. 다른 키를 누를 때 전송되는 신호를 변경하는 것입니다.
따라서 Fn 키에 대한 실제 거래는 단순히 OS에 존재하지 않으므로 OS에서 실제로 "재 맵핑"할 수 없다는 것입니다. fn-modified 단일 신호를 보내기 위해 키를 다시 매핑하여 일부 키의 보조 기능을 다시 매핑하면됩니다.
따라서 기본적으로 fn 키를 자동화하는 것은 불가능합니다. 그러나 최종 결과를 자동화해도 아무런 문제가 없습니다! ...
불행히도 OS 수준에서는 자동화가 실현되지 않습니다. 하드웨어 / 드라이버 수준으로 내려 가야하며 AutoHotKey를 통해 실현할 수 없습니다.
출처 : AutoHotKeyForum Post
일부 사람들은 오토 핫키를 통해 Fn 기능을 다시 매핑하고 Fn 키를보고 성공한 사람은 거의 없습니다.
... 다음 단계를 사용하여 핫키로 만들 수 있습니다.
- 키보드 후크를 사용하는 하나 이상의 스크립트가 실행 중인지 확인하십시오. 기본 창을 열고 메뉴 표시 줄에서 "보기-> 키 기록"을 선택하여 스크립트에 키보드 후크가 있는지 알 수 있습니다.
- 해당 스크립트 트레이 아이콘을 두 번 클릭하여 기본 창을 엽니 다.
- 키보드에서 "미스터리 키"중 하나를 누르십시오.
- "보기-> 키 기록"메뉴 항목을 선택하십시오. 페이지 맨 아래로 스크롤하십시오.
- 하단 근처에는 키의 키 다운 및 키 업 이벤트가 있습니다.
- 참고 : 일부 키는 이벤트를 생성하지 않으므로 여기에 표시되지 않습니다. 이 경우
키보드 드라이버 나 하드웨어가 AutoHotkey에 액세스하기에는 너무 낮은 수준에서 해당 키를 처리하므로 해당 키를 직접 핫키로 만들 수 없습니다 . 가능한 해결 방법은
아래에서 자세히 참조하십시오 . 키가 감지 가능한 경우
목록의 두 번째 열 (예 : 159)에 3 자리 16 진수 값을 기록해 두십시오 . 하기 위해
단축키로이 키를 정의, 예를 따르십시오
SC159:: ; Replace 159 with your key's value.
MsgBox, %A_ThisHotkey% was pressed.
return
반대 방향 : 다른 키를 "미스터리 키"로 다시 매핑하려면 다음 예제를 따르십시오.
; Replace 159 with the value discovered above. Replace FF (if needed) with the
; key's virtual key, which can be discovered in the first column of the Key History screen.
#c::Send {vkFFsc159} ; See Send {vkXXscYYY} for more details.
출처 : autohotkey.com/docs/KeyList.htm
DLL을 통해 다시 매핑하기 위해 AutoHotKey 사용
AutoHotkey는 Windows 용 오픈 소스 매크로 제작 유틸리티이며 많은 기능 중 하나가 핫키를 생성하는 것입니다. AHK 포럼 회원 중 하나 인 Micha는 AHK for Human Interface Devices에 대한 지원을 추가하기 위해 DLL 파일을 작성했습니다. 이 DLL 파일을 사용하면 거의 모든 HID의 키를 읽을 수 있습니다. 키보드, 마우스, 리모컨 등
다음은 이전 기사에서 DLL Process Creator가 말하는 내용입니다.
우선, 키보드 및 Fn 키의 작동에 대한 정보가 있습니다. 각 키에는 고유 한 코드 인 스캔 코드가 있으며,이를 통해 연결된 컴퓨터는 특정 키를 눌렀는지 여부와 릴리스 시점을 확인할 수 있습니다. Fn 키는 약간 다르게 작동합니다. Fn 키를 길게 누르면 키보드의 다른 키 (일부)의 스캔 코드가 변경되어 단일 키로 다른 스캔 코드를 컴퓨터로 다시 보낼 수 있습니다. 그렇기 때문에 Fn 키는 종종 노트북, 작은 키보드 또는 많은 멀티미디어 키가있는 키보드에서 사용됩니다. 이렇게하면 비교적 적은 양의 키에 많은 기능을 추가 할 수 있습니다.
문제는 Fn 키에 일반적으로 자체 스캔 코드가 없다는 것입니다. 연결된 키보드와 컴퓨터에 따라 Fn 키가 다른 키의 스캔 코드를 수정하지 않아 작동하지 않을 수 있습니다. 또한 자체 스캔 코드를 전송하지 않기 때문에 컴퓨터가 다른 키와 함께 누르면 Fn 키가 있음을 알 수있는 방법이 없습니다. 다시 매핑 도구는 스캔 코드 사용을 기반으로하기 때문에 도움이되지 않습니다.
지침에 따라 Fn 키 값을 기록하는 예 :
실행되면 Fn 키 또는 다른 특수 키를 누르고 해당 값을 기록하십시오.
; Filter bit 5 (Fn key) Transform, FnValue, BitAnd, 16, KeyStatus
Fn 함수를 다시 매핑하기위한 샘플 코드
;
; Fn + Backspace = Delete
;
$Backspace::hotkeyBS()
hotkeyBS() {
global fnPressed
if (fnPressed = 1) {
Send {Delete}
} else {
Send {Backspace}
}
}
Return
출처 : 전체 지침을 따르십시오 .
여기에서 다운로드하십시오 ; 여기 에 기사가 있습니다 .
SharpKeys는 Windows에서 하나의 키를 다른 키에 다시 매핑 할 수있는 레지스트리 키를 관리하는 유틸리티입니다. 응용 프로그램에는 일반적인 키보드 키 목록과 대부분의 키보드 키를 자동으로 인식하는 유형 키 기능이 포함되어 있습니다. 원래 .NET v2를 사용하여 C #으로 개발되었지만 .NET 4.0 클라이언트 프로파일을 지원하도록 업데이트되었습니다.
또한 KeyTweak
KeyTweak은 사용자가 키보드 입력 신호를 재정의 할 수있는 간단한 유틸리티입니다. 이 기능은 Windows 2000에 처음 기록 된 레지스트리 값으로 가능하지만 Windows NT 4.0에도 있습니다. XP, Vista 및 Windows 7에 포함되어 있습니다.이 섹션에는 KeyTweak의 일부 기능과 KeyTweak을 사용하려는 이유가 나와 있습니다.
Microsoft 설명서 및 링크
Bios를 통한 동작 키 모드의 기능은 무엇입니까?
이 설정은 랩탑 키보드의 상단 버튼 기본 동작을 변경합니다. 무슨 뜻인가요?
"Action Keys Mode"가 "Enabled"로 설정되어 있으면 키보드 맨 윗줄에 아이콘으로 표시되는 추가 기능을 사용하기 위해 Fn 키를 누르지 않아도됩니다. 상단 버튼이 F1..F12처럼 작동하도록 고정해야합니다.
"Action Keys Mode"가 "Disabled"위치에있는 경우, 종종 기본값처럼 상단 버튼은 표준 F1 ... F12로 작동하며 아이콘으로 표시된 고급 기능을 사용하려면 추가적으로 Fn을 클램핑하십시오.
Fn
Ubutnu 에서 키 재 맵핑