Trên Bàn phím Apple trong Linux, làm cách nào để các phím Chức năng hoạt động mà không có phím bổ trợ fn?


18

Tôi sử dụng bàn phím có dây của Apple trên Linux. Theo mặc định, các phím chức năng (F1, F2, F3, v.v.) yêu cầu fnnhấn phím để chúng hoạt động. Không có fnphím, các phím này điều khiển các tính năng như Độ sáng màn hình, Âm lượng và Điều khiển theo dõi nhạc.

Có cách nào để trao đổi những thứ này xung quanh không, vì vậy các phím Chức năng không yêu cầu công cụ fnsửa đổi, nhưng các chức năng khác (Độ sáng, v.v.) làm gì?

Câu trả lời:


23

Bạn cần thêm 0hoặc 2vào /sys/module/hid_apple/parameters/fnmode.

I E:

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

Dường như có một số nhầm lẫn về sự khác biệt giữa hai giá trị có thể là gì. Trích dẫn tài liệu Ubuntu :

  1. 0 = bị vô hiệu hóa: Vô hiệu hóa phím 'fn'. Nhấn 'fn' + 'F8' sẽ hoạt động giống như bạn chỉ nhấn 'F8'
  2. 1 = fkeyslast: Các phím chức năng được sử dụng làm khóa cuối cùng. Nhấn phím 'F8' sẽ hoạt động như một phím đặc biệt. Nhấn 'fn' + 'F8' sẽ hoạt động giống như F8.
  3. 2 = fkeysfirst: Các phím chức năng được sử dụng làm khóa đầu tiên. Nhấn phím 'F8' sẽ hoạt động giống như F8. Nhấn 'fn' + 'F8' sẽ đóng vai trò là phím đặc biệt (phát / tạm dừng).

Lưu ý rằng điều này cũng làm việc cho tôi trên Fedora.


đó là fnmode = không gạch dưới
Yauhen Yakimovich

Cảm ơn rất nhiều!!!
Shivam

3

Tôi nhận ra rằng việc thay đổi hành vi của công cụ sửa đổi này khá đơn giản, vì root thay đổi giá trị trong tệp /sys/module/hid_apple/parameters/fnmodetừ 1sang 0. Ví dụ:

# echo 0> / sys / module / hid_apple / tham số / fnmode

Lưu ý rằng trong một số phiên bản cũ hơn của linux, tệp này được đặt trong /sys/module/apple/parameters/fnmode. Ngoài ra, thay đổi này sẽ không tồn tại khi bạn khởi động lại.


2

Đối với những người bị từ chối truy cập và không thể chỉ đơn giản là tiền tố "sudo" sử dụng:

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

Thay đổi nó thành 2hoặc bất cứ điều gì và sau đó Ctrl+Xđể tiết kiệm.


cách tốt hơn là echo 2| sudo tee /sys/module/hid_apple/parameters/fnmode, nhưng tất cả các giải pháp này đều thoáng qua .... Một cách để làm cho bền bỉ ( systemdví dụ như trên các môi trường như Fedora): echo "w /sys/module/hid_apple/parameters/fnmode - - - - 2" | sudo tee /etc/tmpfiles.d/rev_fn_key.conf
nhed

2

Đối với bất kỳ ai tình cờ phát hiện ra chủ đề này bằng một trong những MacBook Pro mới hơn (2016 trở lên) cần trình điều khiển applespi để làm cho bàn phím và bàn di chuột hoạt động, đây là cách để làm việc này, vì tôi không thể tìm thấy bất kỳ chủ đề nào khác giải thích điều này cho máy Mac mới hơn.

Theo tôi hiểu, trình điều khiển thay thế hiệu quả vai trò của mô-đun hid_apple, vì vậy các tệp để chỉnh sửa hơi khác nhau.

Trước tiên, để xác minh rằng bạn đang sử dụng trình điều khiển applespi chứ không phải trình điều khiển hid_apple, hãy kiểm tra xem những lệnh nào (sử dụng thiết bị đầu cuối) sẽ trả về một cái gì đó. Bất cứ điều gì sẽ cho bạn biết bạn đang sử dụng trình điều khiển nào:

# 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

Để kiểm tra cài đặt tạm thời (cài đặt sẽ được đặt lại sau khi khởi động lại):

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

Để áp dụng các thay đổi vĩnh viễn (tiếp tục khởi động lại):

# 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

Đối với MacBook Pro cũ hơn sử dụng mô-đun hid_apple, hãy sử dụng "hid_apple" thay vì "applespi" trong các lệnh.


1

Trong một cuộc thảo luận cũ hơn, một giải pháp được đưa ra với tham số khởi động kernel có thể thích hợp hơn (ứng dụng trên toàn hệ thống, sửa đổi chỉ một dòng trong /etc/default/grub, v.v.).

Chỉ theo giải pháp đó, fnmodeđược đặt thành 2thay vì 0. Tôi chỉ cố gắng để thiết lập hid_apple/parameters/fnmodeđể 2, và nó có hiệu quả mong muốn quá. Có lẽ logic đơn giản là `1 → "yêu cầu Fnđể truy cập F1, F2, F3, ..." so với tất cả các giá trị khác?


Xin chào RJVB, chào mừng bạn đến với unix.SE. Tôi đã chỉnh sửa câu trả lời của bạn để cải thiện định dạng. Hãy xem nguồn để tìm hiểu một số thủ thuật.
drs
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.