VarmiloはUSBを正しく使用しません。避ける

VarmiloはUSBを正しく使用しません。避ける

最近1つ買いました。アミロVA109M機械式キーボード。 Windowsではうまく機能しますが、専用の修飾キーを押しているかどうかにかかわらず、ファンクションキーが常にメディアショートカットを有効にしているように見えるため、F1Ubuntuのインストールを混同しているようです。たとえば、このボタンだけを押すとシステムの音量が大きくなり、+を押すとシステムの音量も大きくなります。通常のキーのように機能させる方法はありません。私は多くのプログラミングを行い、多くのIDEショートカットが標準のファンクションキーに依存しているため、これが問題になります。F12FnF12FnF12F12

Fn+を押し続けてキーボードの内部設定をリセットしてみましたEscが、役に立ちませんでした。同じコンピュータにインストールされているWindowsはこのキーボードと完全に機能します。 Ubuntuの混乱を正確に診断するために私ができることはありますか?

編集:lsusb以下を出力します。

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

答え1

これは解決することができます!

だから最近私はこれを直接調べてみましたが、Jd3eBPがAppleキーボードを装うキーボードについては正確ですが、実際には工場でVarmiloが点滅する問題かもしれません。

彼らはファームウェアとラベリングだけが異なるMacバージョンのキーボードを販売しています。基本的にMacレイアウトをサポートしているようです。キーの順序を変更できる「Windowsモード」に切り替えることも必要です。期待していましたが、このキーボードはそれ自体がAppleキーボードとして識別されているため、Macでこれを正しく処理できます。

しかし、誤ってこのファームウェアをフラッシュしたようです。すべてキーボードはMac専用のキーボードではなく、WindowsではIDを無視するので明確ではありませんが、Linuxではhid_appleドライバが有効になります。

解決策:

回答セクションに進みます。この問題を解決するための2つの大きなオプションがあります。両方をテストしたところ、2番目のオプションがより良いことがわかりました。

  1. hid_appleをファンクションキーを正常に処理するモードに変更すると、基本的に問題が解決されると思います。これを行う方法についてはここで見つけることができ、Ubuntuでも動作します。https://wiki.archlinux.org/index.php/Apple_Keyboard#Function_keys_do_not_work

  2. 製品とベンダーIDでキーボードが検出されないように更新してください。これは間違いなく正解ですが、より危険です。メーカーホームページからファームウェアファイルを入手できます。https://en.varmilo.com/keyboardproscenium/Driverdownload、VA87Mを使ってダウンロードしてください。アップデータ自体が動作しないので(中国語ローカライゼーションをインストールしなければならないようです)、ここで誰かに提供するアップデータを利用すればいいです。https://www.reddit.com/r/Varmilo/comments/g4sabk/fn_lock_on_va87m/、良い測定のために公式ファームウェアファイルを使用してください。これを信じられない場合は、Varmiloに電子メールを送ってください。これについてお問い合わせください。

アップデータは公式ウェブサイトでワインをインストールした後、ワインの下で私のために働いた。これにより、ベンダーと製品IDが更新され、Appleのキーボードとして表示されず、Windows専用バージョンで使用されていなかった「windows / macモードに切り替える」機能も削除されます。必要に応じて、Macファームウェアをフラッシュして以前の動作に戻すことができますが、私はこれをテストしていません。

答え2

VarmiloはUSBを正しく使用しません。避ける

他のキーボードを使ってWWWで見ることができます。間違って報告された製造元は、Apple(Varmilo VS109MおよびVarmilo VA88MがベンダーID 05acを主張している)、Cypress(サプライヤID 04b4)としてマークされています。Varmilo Z104Mが主張するように)、ROF Electronics(サプライヤーID ffff、Amilo VA87Mが主張するように)、Nordic Semiconductor(サプライヤーID 1915)Varmilo VB87Mが主張するように)、ホルテックなど

これは明らかに間違っており、深刻な問題があります。

ハードウェアデバイスがその製造元(PCI、USBなどのバス上のデバイスのリストから)をAppleとして識別し、その製品を特定のAppleキーボードで識別する場合、オペレーティングシステムがそれを処理するのは完全に合法的です。Appleのキーボードと同じです。。ベンダーID 05AC製品ID 024FはAppleアルミキーボード(アメリカ)です。

ここで問題はVA109Mです。それはキーボードではありませんか?

FnAppleキーボードには、ほとんどのキーボードとは異なる特別で珍しいキーの意味があります。 Appleキーボードに接続されているLinuxデバイスドライバは、プライベートUSB HID「使用」を使用してAppleの特殊キーを処理する方法をhid_apple知っています。Fn

VA109MはAppleキーボードではありません。バルミロのキーボード。 Appleのキーボードのように動作しません。 Apple特殊USB HID「使用」を表示しませんFn。ほとんどのキーボードと同様に、FnUSB経由で表示されません。別の言葉

だからAppleキーボードのように運転してください。動作しません

  • hid_apple悪い解決策は、Linuxでドライバを無効または削除することですが、実装することも重要です。
  • 誤った解決策は、ドライバーfnmode=2のオプションを使用して変速状態hid_appleを反転させることですFn。少なくともこれらのキーの意味をメディア/デバイス制御キーではなくファンクションキーに切り替えます。
  • 正しい解決策は、VarmiloではなくベンダーIDを正しく設定する方法を知っている製造元からキーボードを購入することです。

追加読書

答え3

私は私の任務の1つを完了しました。

ある日、実際のAppleキーボードをコンピュータに接続しないとしましょう。

  1. ファイルの作成/etc/modprobe.d/hid_apple.conf
  2. 追加options hid_apple fnmode=2と保存
  3. sudo update-initramfs -uDebianディストリビューションまたはsudo mkinitcpio -PArchディストリビューションで
  4. 再起動
  5. キーボードをWindowsモードに切り替えます(この機能が利用可能な場合)。

答え4

FN + Wを3秒以上押し続けると、MACモードを終了するのに役立ちました。そしてファンクションキーはうまく機能します。この手順は、キーボードを購入した店舗のサポートマニュアルから入手したものです。

関連情報