Klavye işlev tuşları, Fn'nin basılı tutulmasına bakılmaksızın her zaman medya kısayollarını tetikler
Yakın zamanda bir Varmilo VA109M mekanik klavye satın aldım . Windows'ta iyi çalışıyor, ancak Ubuntu kurulumumu, Fn değiştirici tuşunu tutup tutmadığımdan bağımsız olarak F1-F12 işlev tuşlarının her zaman medya kısayollarını etkinleştirmek için görünmesi nedeniyle karıştırıyor gibi görünüyor. Örneğin, F12 kendi başına basarsam sistem hacmimi artıracak, Fn + F12'ye basarsam da aynısını yapacak; normal bir F12 tuşu gibi davranmasını sağlamanın bir yolu yoktur. Bu bana sorunlara neden oluyor çünkü çok fazla programlama yapıyorum ve birçok IDE kısayolu standart işlev tuşlarına dayanıyor.
Fn + Esc tuşunu basılı tutarak klavyenin dahili ayarlarını sıfırlamayı denedim, ancak bu yardımcı olmadı. Windows kurulumum aynı makineye bu klavye ile mükemmel şekilde çalışıyor. Ubuntu'nun kafasının tam olarak neyi karıştırdığını denemek ve teşhis etmek için yapabileceğim bir şey var mı?
EDIT: lsusb
aşağıdakileri çıkarır :
Bus 001 Device 003: ID 05ac:024f Apple, Inc. Varmilo Keyboard
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x05ac Apple, Inc.
idProduct 0x024f
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x005b
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 350mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 75
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 85
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 33
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 4
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 4
Yanıtlar
Bu çözülebilir!
Bu yüzden son zamanlarda bununla ilgili biraz araştırma yaptım ve Jd3eBP, klavye konusunda Apple klavyesi gibi davranırken haklıyken, muhtemelen Varmilo'nun fabrikada yanıp sönmesiyle ilgili bir sorun.
Yalnızca bellenim ve etiketlemede farklı olduğunu düşündüğüm klavyenin bir Mac sürümünü satıyorlar, varsayılan olarak Mac düzenini desteklediğini düşünüyorum, ayrıca muhtemelen tuşların sırasını değiştiren "windows moduna" geçebilmesi gerekiyor. Beklediğiniz gibi, Mac'lerin ona düzgün davranmasını sağlamak için kendisini bir Apple klavyesi olarak tanımlar.
Ancak, bu bellenimi sadece Mac yerine her klavyeye yanlışlıkla yazmış gibi görünüyorlar , bu, kimliği yok saydığı için Windows'ta fark edilmiyor, ancak linux'ta hid_apple sürücüsünü etkinleştirecek.
Çözüm:
Cevap kısmına. Bunu çözmek için iki büyük seçenek var, ikisini de test ettim ve ikincisini çok daha iyi buldum.
Hid_apple'ı işlev tuşlarını normal şekilde işlediği bir moda değiştirin, afaik bu temelde sorunu çözecektir. Bunun nasıl yapılacağına dair talimatları burada bulabilirsiniz, Ubuntu'da da çalışacaktır.https://wiki.archlinux.org/index.php/Apple_Keyboard#Function_keys_do_not_work.
Klavyeyi, ürün ve satıcı kimliği ile tespit edilmeyecek şekilde yeniden işaretleyin. Bu muhtemelen doğru cevaptır, ancak biraz daha risklidir. Üretici yazılımı dosyalarını buradan buradan alabilirsiniz.https://en.varmilo.com/keyboardproscenium/Driverdownload, VA87M indirmesini kullanarak. Güncelleyicinin kendisi çalışmadı (sanırım Çince yerelleştirmeye ihtiyacım vardı), böylece burada birine sağlanan güncelleyiciyi kullanabilirsinizhttps://www.reddit.com/r/Varmilo/comments/g4sabk/fn_lock_on_va87m/, resmi bellenim dosyasını kullanarak iyi bir önlem için. Buna güvenmiyorsanız, Varmilo'ya sorun hakkında e-posta gönderirseniz gerekli dosyaları sağlayacaklarını duydum.
Bu güncelleyici, resmi siteden şarap yükledikten sonra benim için şarap altında çalıştı. Bu, yalnızca satıcının ve ürün kimliğinin bir Apple klavyesi olarak ortaya çıkmaması için geri döner, ayrıca yalnızca Windows sürümünde kullanılmayan "Windows / mac moduna geç" işlevini de kaldırır. Eski davranışa dönmek için muhtemelen Mac bellenimini flaş edebilirsin, eğer istersen bunu test etmedim.
Varmilo, USB'yi doğru yapmaz. Önlemek.
WWW etrafında onun klavyeler çeşitli görülebilir yanlış Elma (Varmilo VS109M tarafından ve Varmilo VA88M tarafından iddia edildiği gibi satıcı kimliği 05ac) olarak üreticileri rapor, Selvi (satıcı kimliği 04b4 Varmilo Z104M tarafından iddia edildiği gibi ), ROF Elektroniği ( Varmilo VA87M tarafından iddia edildiği gibi satıcı kimliği ffff ), Nordic Semiconductor ( Varmilo VB87M tarafından talep edildiği üzere satıcı kimliği 1915 ), Holtek ve daha fazlası.
Bu açıkça hatalı ve oldukça sorunlu.
Bir kişinin donanım aygıtı üreticisini (PCI, USB, vb. Otobüslerin aygıt numaralandırmasında) Apple olarak ve ürününü de belirli bir Apple klavyesi olarak tanımlarsa, işletim sistemlerinin ona Apple klavyesi olarak davranması tamamen yasaldır . Satıcı Kimliği 05AC Ürün Kimliği 024F, Apple Alüminyum Klavyedir (ABD).
Buradaki sorun, VA109M'nin o klavye olmamasıdır .
Apple klavyesi, Fnçoğu klavyeden farklı olan , tuş için özel ve alışılmadık anlamlara sahiptir . Apple klavyelerine bağlanan Linux aygıt sürücüsü, Apple'ın özel USB HID "kullanımı" ile hid_apple
Apple'ın özel Fnanahtarını kullanması gerektiğini bilen .
VA109M, bir Apple klavye değildir. Bu bir Varmilo klavyesidir. Apple klavyesi gibi çalışmıyor. Apple için özel USB HID "kullanımı" yaymaz Fn. Çoğu klavyede gibi, yapmaz FnUSB üzerinden görünür hiç .
Yani, söylediği Apple klavyesi gibi sürmek işe yaramıyor .
- Aynı zamanda uygulanması önemsiz olmayan kötü bir düzeltme,
hid_apple
sürücüyü Linux'tan devre dışı bırakmak veya kaldırmaktır . - Kötü bir düzeltme, sürücünün vites durumunu tersine çevirme
fnmode=2
seçeneğini kullanmaktır . Bu, en azından medya / cihaz kontrol tuşları yerine işlev tuşları olan bu tuşların anlamsallığına geçiş yapar.hid_apple
Fn - Doğru düzeltme, klavyeleri Varmilo'dan ziyade satıcı kimliklerini doğru şekilde ayarlamayı bilen bir üreticiden satın almaktır.
daha fazla okuma
- Vroomfondel (2020-06-17). udev: Klavye, Apple olarak yanlış algılandı . Debian hatası # 963002.
Üreticiye göre: https://en.varmilo.com/keyboardproscenium/subject_product_detailed?subjectid=221
Yalnızca Windows OS, macOS kısayol tuşlarını desteklemez. Bu, işlev tuşuna atıfta bulunuyorsa, nedeni bu olabilir. Belki de macOS desteği, Linux desteği kadar eksiktir.