Cara menukar penggunaan "fn" dari tombol Fungsi pada Keyboard Apple di Linux


43

Saya memiliki keyboard ramping apel (USB) dan jika saya ingin menggunakan salah satu dari Function Key apa adanya, saya juga harus menekan tombol "fn" terlebih dahulu. Jika tidak, ia akan mencoba melakukan fungsi tombol lainnya, seperti menambah atau mengurangi intensitas tampilan, mengubah volume / bisu, dll.

Selain itu, tombol fn sebenarnya berada di posisi tombol "insert" untuk keyboard biasa. Bagaimana saya bisa memperbaiki semua itu?

Saya sangat suka keyboard ini, karena itu membuat pengetikan saya jauh lebih mudah, dan jauh lebih hening juga. Tetapi beberapa pemetaan yang berbeda kadang-kadang mengganggu saya.

Terima kasih :-)

Jawaban:


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

Atau, dalam hal masalah izin:

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

Ini akan mencegah Anda dari harus reboot. Menambahkan opsi adalah ide yang bagus, jadi perubahan tetap ada melalui reboot.

  • 0 = Kunci Fn dinonaktifkan
  • 1 = Tombol Fn ditekan secara default
  • 2 = Kunci Fn dilepaskan secara default

Dari /drivers/hid/hid-apple.c baris 42 :

Mode kunci fn pada keyboard Apple (0 = dinonaktifkan, [1] = fkeyslast, 2 = fkeysfirst)


1
Sepertinya saya tidak menggunakan driver apel, jadi ini tidak berfungsi untuk saya. Saya memiliki keyboard apel non-merek (Razor Black Widow).
Kieveli

1
@Kieveli ketika orang mengatakan keyboard apel mereka tidak bermaksud seperti itu secara umum, maksud mereka seperti pada perangkat keras apple. jika perangkat keras bukan apel maka Anda tidak akan menggunakan driver apel. Anda harus mencari tahu pengemudi mana yang pertama kali menjadi Anda
DallaRosa

4
Untuk Ubuntu 14.04.3, jawaban oleh @cynyr tidak berfungsi. Anda mendapatkan "izin ditolak". Yang bekerja di sini: gema 2 | sudo tee / sys / module / hid_apple / parameter / fnmode
akikara

untuk masalah dengan izin, lihat [ askubuntu.com/questions/103643/…
Diogo

35

Jawaban di atas tentang opsi untuk menyetel /etc/modprobe.dagak ketinggalan zaman. Untungnya ada dokumentasi terperinci tentang dukungan Keyboard Apple :

  1. Edit atau buat file /etc/modprobe.d/hid_apple.conf, misal:

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

  2. Tambahkan baris ini ke file yang sebelumnya dibuka.

    options hid_apple fnmode=2

  3. Simpan file dan jalankan perintah berikut untuk memberi tahu modul hid_apple untuk memuat ulang konfigurasinya.

    sudo update-initramfs -u

  4. Mulai ulang

Saya pribadi merekomendasikan sudo update-initramfs -u -k alluntuk memperbaruinya untuk semua kernel Anda (setelah Anda yakin pengaturannya berfungsi seperti yang diharapkan).

Mengatur fnmode di bawah /sysmasih bekerja dengan cara yang sama:

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

Nilai dalam kedua metode adalah sebagai berikut:

  • 0 = dinonaktifkan: Nonaktifkan kunci 'fn'. Menekan 'fn' + 'F8' akan berperilaku seperti Anda hanya menekan 'F8'
  • 1 = fkeyslast: Tombol fungsi digunakan sebagai kunci terakhir. Menekan tombol 'F8' akan bertindak sebagai kunci khusus. Menekan 'fn' + 'F8' akan berperilaku seperti F8.
  • 2 = fkeysfirst: Tombol fungsi digunakan sebagai kunci pertama. Menekan tombol 'F8' akan berperilaku seperti F8. Menekan 'fn' + 'F8' akan bertindak sebagai kunci khusus (putar / jeda)

Terima kasih - Saya telah menambahkan metode ini ke skrip setup Linux Mint saya di github.com/duncan-bayne/mint-setup
Duncan Bayne

Yang Anda butuhkan adalah menjalankan sebagai root (setidaknya pada distro Fedora) echo 2 > /sys/module/hid_apple/parameters/fnmodeuntuk menjadikan FN sebagai kontrol primer dan Mac sekunder. Oh ya!! Terima kasih, wuputah !!
Ilia Rostovtsev

Bonus: Jika Anda ingin membuat ~ key Anda berfungsi, Anda juga harus mengatur iso_layout = 0. Hid_apple.conf saya terlihat seperti ini: options hid_apple fnmode = 2 iso_layout = 0
Thales Ceolin

5

Dari Sini

bagaimana cara kita menukar fungsi tombol Fn?

Pertama-tama edit /etc/modprobe.d/options

sudo nano /etc/modprobe.d/options

dan pastikan memiliki garis

opsi hid pb_fnmode = 2

Lalu simpan dan keluar. Terakhir, kami perlu memperbarui ramf:

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

Kemudian reboot!


1

Ini bekerja untuk saya di Fedora 24

  1. Buat file baru untuk SystemD untuk memulai.

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

    Pastikan file berisi yang berikut ini

    [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. Muat ulang SystemD untuk membaca file baru Anda

    systemctl --system daemon-reload

  3. Mulai layanan SystemD.

    systemctl start mac-keyboard.service

  4. Aktifkan layanan untuk memulai saat boot.

    systemctl enable mac-keyboard.service

Referensi: https://www.dalemacartney.com/2013/06/14/changing-the-default-function-key-behaviour-in-fedora/


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

dengan keyboard mac Anda akan mendapatkan tombol radio toggle fn

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.