Linux의 Apple 키보드에서 fn 수정 자 키없이 기능 키를 작동 시키려면 어떻게해야합니까?


20

Linux에서 Apple 유선 키보드를 사용합니다. 기본적으로 기능 키 (F1, F2, F3 등)는 fn작동 키를 눌러야합니다. fn키가 없으면이 키는 화면 밝기, 볼륨 및 음악 트랙 컨트롤과 같은 기능을 제어합니다.

이것을 바꾸는 방법이 있습니까? 그래서 기능 키에는 fn수정자가 필요하지 않지만 다른 기능 (밝기 등)에는 필요합니까?

답변:


25

0또는 2에 추가해야합니다 /sys/module/hid_apple/parameters/fnmode.

즉 :

echo 2 > /sys/module/hid_apple/parameters/fnmode

두 값의 차이가 무엇인지에 대해 약간의 혼란이있는 것 같습니다. 우분투 문서 인용 :

  1. 0 = disabled : 'fn'키를 비활성화합니다. 'fn'+ 'F8'을 누르면 'F8'만 누르는 것처럼 동작합니다
  2. 1 = fkeyslast : 기능 키가 마지막 키로 사용됩니다. 'F8'키를 누르면 특수 키 역할을합니다. 'fn'+ 'F8'을 누르면 F8처럼 작동합니다.
  3. 2 = fkeysfirst : 기능 키가 첫 번째 키로 사용됩니다. 'F8'키를 누르면 F8처럼 작동합니다. 'fn'+ 'F8'을 누르면 특수 키 (재생 / 일시 정지)로 작동합니다.

이것은 Fedora에서도 작동합니다.


fnmode = 밑줄 없음
Yauhen Yakimovich

고마워 !!!
Shivam '12

3

나는 그것이 루트 파일의 값을 변경할 때,이 수정의 동작을 변경하는 매우 간단하다 것을 알아 냈 /sys/module/hid_apple/parameters/fnmode에서 1로가 0. 예를 들면 다음과 같습니다.

# echo 0> / sys / module / hid_apple / parameters / fnmode

일부 이전 버전의 Linux에서는이 파일이에있었습니다 /sys/module/apple/parameters/fnmode. 또한이 변경 사항은 재부팅 할 때 유지되지 않습니다.


3

키보드와 터치 패드를 작동시키기 위해 applespi 드라이버가 필요한 최신 MacBook Pro (2016 이상) 중 하나를 사용하여이 스레드를 다루는 사람 은이 스레드를 설명하는 다른 스레드를 찾을 수 없으므로이 작업을 수행하는 방법은 다음과 같습니다. 최신 Mac.

내가 이해하는 한, 드라이버는 hid_apple 모듈의 역할을 효과적으로 대체하므로 편집 할 파일이 약간 다릅니다.

먼저, hid_apple 드라이버가 아닌 applespi 드라이버를 사용하고 있는지 확인하려면, 터미널을 사용하여 어떤 명령이 무언가를 반환하는지 확인하십시오. 어느 것이 현재 사용중인 드라이버인지 알려줍니다.

# If this returns "applespi", you are using applespi
ls /sys/module | grep applespi

# If this returns "hid_apple", you are using hid_apple
ls /sys/module | grep hid_apple

설정을 일시적으로 테스트하려면 (재부팅 후 설정이 재설정 됨) :

echo 2 | sudo tee -a /sys/module/applespi/parameters/fnmode

변경 사항을 영구적으로 적용하려면 (재부팅시 지속) :

# Add the option for the fn key
echo options applespi fnmode=2 | sudo tee -a /etc/modprobe.d/applespi.conf
# Update initramfs bootfile
sudo update-initramfs -u -k all
# Reboot to test (optional)
sudo reboot

hid_apple 모듈을 사용하는 구형 MacBook Pro의 경우 명령에서 "applespi"대신 "hid_apple"을 사용하십시오.


2

액세스가 거부되고 "sudo"라는 접두사를 사용할 수없는 사용자의 경우 :

sudo nano /sys/module/hid_apple/parameters/fnmode

2또는 다른 것으로 변경 한 다음 Ctrl+X저장하십시오.


더 나은 방법은 echo 2| sudo tee /sys/module/hid_apple/parameters/fnmode이지만 이러한 모든 솔루션은 일시적입니다 .... systemd예를 들어 Fedora와 같은 환경에서 지속적으로 유지하는 한 가지 방법 : echo "w /sys/module/hid_apple/parameters/fnmode - - - - 2" | sudo tee /etc/tmpfiles.d/rev_fn_key.conf
nhed

1

에서 오래된 토론 해결책은 (바람직 시스템 전체 응용 프로그램이 될 수있는 커널 부트 매개 변수, 단지 라인의 수정에 함께 제공됩니다/etc/default/grub , 등).

해당 용액에있어서, fnmode설정되는 2대신 0. 난 그냥 설정하려고 hid_apple/parameters/fnmode2, 그것은 원하는 효과를 너무있다. 어쩌면 논리는`1 → "필요 단순히 Fn접근 F1, F2, F3다른 모든 값을 대 ...?"


RJVB 안녕하세요, 유닉스에 오신 것을 환영합니다. 서식을 개선하기 위해 답변을 편집했습니다. 트릭을 배우기 위해 소스를 살펴보십시오.
drs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.