Cách hoán đổi cách sử dụng các phím chức năng của Fn trên một Bàn phím Apple trong Linux


43

Tôi có một bàn phím mỏng (USB) và nếu tôi muốn sử dụng một trong các phím chức năng như hiện tại, tôi cũng phải nhấn phím "fn" trước. Nếu không, nó sẽ cố gắng thực hiện chức năng khác của phím, chẳng hạn như tăng hoặc giảm cường độ hiển thị, thay đổi âm lượng / tắt tiếng, v.v ....

Đồng thời, phím fn thực sự nằm ở vị trí của phím "chèn" cho bàn phím thông thường. Làm thế nào tôi có thể khắc phục tất cả điều đó?

Tôi thực sự thích bàn phím này, vì nó làm cho việc gõ của tôi dễ dàng hơn nhiều và cũng im lặng hơn nhiều. Nhưng một số ánh xạ khác đôi khi làm tôi khó chịu.

Cảm ơn :-)

Câu trả lời:


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

Hoặc, trong trường hợp cấp phép:

echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode

Điều này sẽ ngăn bạn khỏi phải khởi động lại. Thêm tùy chọn là một ý tưởng tốt, vì vậy sự thay đổi vẫn tồn tại thông qua việc khởi động lại.

  • 0 = Phím Fn bị vô hiệu hóa
  • 1 = Phím Fn được nhấn theo mặc định
  • 2 = Khóa Fn được phát hành theo mặc định

Từ /drivers/hid/hid-apple.c dòng 42 :

Chế độ phím fn trên bàn phím Apple (0 = bị vô hiệu hóa, [1] = fkeyslast, 2 = fkeysfirst)


1
Có vẻ như tôi không sử dụng trình điều khiển apple, vì vậy điều này không hiệu quả với tôi. Tôi có một bàn phím táo ngoài thương hiệu (Dao cạo góa đen).
Kieveli

1
@Kieveli khi mọi người nói bàn phím apple họ không có nghĩa chung chung, họ có nghĩa như trong phần cứng của apple. nếu phần cứng không phải là apple thì bạn sẽ không sử dụng trình điều khiển của apple. bạn phải tìm ra tài xế nào bạn là người đầu tiên
DallaRosa

4
Đối với Ubuntu 14.04.3, câu trả lời của @cynyr không hoạt động. Bạn nhận được "quyền từ chối". Làm việc một ở đây: echo 2 | sudo tee / sys / module / hid_apple / tham số / fnmode
akikara

để biết các vấn đề với sự cho phép, hãy xem [ askubfox.com/questions/103643/ Lần
Diogo

35

Câu trả lời ở trên về tùy chọn nào để cài đặt /etc/modprobe.dlà hơi lỗi thời. May mắn thay, có tài liệu chi tiết về hỗ trợ Bàn phím Apple :

  1. Chỉnh sửa hoặc tạo tệp /etc/modprobe.d/hid_apple.conf, vd:

    gksudo gedit /etc/modprobe.d/hid_apple.conf

  2. Thêm dòng này vào tập tin mở trước đó.

    options hid_apple fnmode=2

  3. Lưu tệp và thực hiện lệnh sau để thông báo mô-đun hid_apple để tải lại cấu hình của nó.

    sudo update-initramfs -u

  4. Khởi động lại

Cá nhân tôi khuyên bạn nên sudo update-initramfs -u -k allcập nhật nó cho tất cả các hạt nhân của bạn (một khi bạn tự tin cài đặt hoạt động như mong đợi).

Đặt fnmode bên dưới /sysvẫn hoạt động theo cùng một cách:

sudo -s 'echo 2 > /sys/module/hid_apple/parameters/fnmode'

Các giá trị trong cả hai phương thức như sau:

  • 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'
  • 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.
  • 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ẽ hoạt động như một phím đặc biệt (phát / tạm dừng)

Cảm ơn - Tôi đã thêm phương pháp này vào tập lệnh thiết lập Linux Mint của mình tại github.com/duncan-bayne/mint-setup
Duncan Bayne

Tất cả những gì bạn cần là chạy root (ít nhất là trên Fedora distro) echo 2 > /sys/module/hid_apple/parameters/fnmodeđể biến FN thành chính và Mac điều khiển phụ. Ồ, vâng !! Cảm ơn, wuputah !!
Ilia Rostovtsev

Phần thưởng: Nếu bạn muốn làm cho phím ~ của mình hoạt động, bạn cũng nên đặt iso_layout = 0. Hid_apple.conf của tôi trông như thế này: tùy chọn hid_apple fnmode = 2 iso_layout = 0
Thales Ceolin

5

Từ đây

Làm thế nào để chúng ta trao đổi chức năng của phím Fn?

Chỉnh sửa đầu tiên /etc/modprobe.d/options

sudo nano /etc/modprobe.d/options

và chắc chắn rằng nó có dòng

tùy chọn ẩn pb_fnmode = 2

Sau đó lưu và thoát. Cuối cùng, chúng ta cần cập nhật ramfs:

sudo update-initramfs -u -v -k uname -r

Sau đó, chỉ cần khởi động lại!


1

Điều này làm việc cho tôi trên Fedora 24

  1. Tạo một tệp mới để SystemD bắt đầu.

    gedit /usr/lib/systemd/system/mac-keyboard.service

    Đảm bảo tệp chứa các mục sau

    [Unit]
     Description=mac-keyboard
    [Service]
     Type=oneshot
     ExecStart=/bin/sh -c "echo 2 > /sys/module/hid_apple/parameters/fnmode"
     ExecStop=/bin/sh -c "echo 1 > /sys/module/hid_apple/parameters/fnmode"
     RemainAfterExit=yes
    [Install]
     WantedBy=multi-user.target
    
  2. Tải lại SystemD để đọc tệp mới của bạn

    systemctl --system daemon-reload

  3. Bắt đầu dịch vụ SystemD.

    systemctl start mac-keyboard.service

  4. Cho phép dịch vụ để bắt đầu khởi động.

    systemctl enable mac-keyboard.service

Tham khảo: https://www.dalemacartney.com/2013/06/14/changing-the-default-feft-key-behaviour-in-fedora/


0
sudo add-apt-repository ppa:daniel.pavel/solaar
sudo apt-get update
sudo apt-get install solaar
solaar

với bàn phím mac, bạn sẽ có một nút radio để toggle fn

http://i.stack.imgur.com/9omc6.png

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.