先前筆者在選購鍵盤的時候買了羅技的K380,雖然藍芽連線出乎意料地穩定性還不錯,但開進作業系統之前藍芽不能連線,不能用藍芽鍵盤開進BIOS/UEFI實在太不方便,而且K380奇怪的F1~F12的設計也是讓工作效率大幅下降。在筆者的K380過保不久,.鍵(鍵)鍵帽也非常容易鬆脫。雖然K380功能都正常,但筆者還是想換一個鍵盤來使用,在經過一番搜尋之後,發現原來K380的進階款──K580其實除了能用藍芽來連線之外,也是可以用USB接收器(Unifying)來連線的。知道這點之後就立馬購買羅技的K580來用用啦!



先來看看Logitech K580的外盒吧!從外盒上印著的K580的照片可以看出這個鍵盤和常見的鍵盤長得並不太一樣,它有著奇怪的凹槽,這個凹槽是用來放置手機、平板用的,簡單粗暴地將這些行動裝置立起來,透過藍芽連接K580。

logitech-k580

外盒的背面可以見到K580的產品特色。

logitech-k580

側面可以看到K580的連線方式以及電池類型。

logitech-k580

K580

K580

這個外盒非常輕巧,幾乎就是鍵盤本體的大小,打開便可看到K580本體剛好佔滿整個外盒。

logitech-k580

將K580從外盒中拿出後可以看到說明書。說明書上有畫K580的連線方式,但老實說USB連線的部份是有看沒有懂,搗鼓了一陣才成功用USB連上。

logitech-k580

K580雖然擁有數字鍵盤區,但它的長度並不長,約37.4公分。凹槽設計還蠻妙的,可以把為了能裝電池而需要的鍵盤厚度所浪費的空間拿來放置行動裝置。

logitech-k580

K580

K580

K580

K580

logitech-k580

K580最厚的地方到底有多厚呢?拿個十元硬幣來對比一下。

K580

如上圖,它真的非常很薄吧!

好啦,不開玩笑了,上圖中的十元其實是比一般的十元,還要大好幾倍的十元~XD

真正的比例是像下圖這樣。

K580

凹槽的深度要立起一個行動裝置是沒什麼問題的,但如果行動裝置有加殼或加皮,或是尺寸比較大,就可能會塞不進去。

logitech-k580

K580灰色的部份是可以往外推出來的,電池槽和USB接收器就藏在其底下。已經有內建兩個AAA的GP鹼性電池。

logitech-k580

K580連線是用F11F12來切換不同裝置,藍芽配對沒什麼太大的問題。但USB接收器是使用Unifying,同樣要配對才可以使用,配對Unifying會佔用掉F11或是F12。而且如果您是使用Linux作業系統的話,官方並沒有提供Unifying的配對軟體,但可以藉由以下C語言程式碼編譯出來的程式來完成Unifying配對的動作。

#include <linux/input.h>
#include <linux/hidraw.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>

#define USB_VENDOR_ID_LOGITECH                  (__u32)0x046d
#define USB_DEVICE_ID_UNIFYING_RECEIVER         (__s16)0xc52b
#define USB_DEVICE_ID_UNIFYING_RECEIVER_2       (__s16)0xc532

int main(int argc, char **argv)
{
       int fd;
       int res;
       struct hidraw_devinfo info;
       char magic_sequence[] = {0x10, 0xFF, 0x80, 0xB2, 0x01, 0x00, 0x00};

       if (argc == 1) {
               errno = EINVAL;
               perror("No hidraw device given");
               return 1;
       }

       /* Open the Device with non-blocking reads. */
       fd = open(argv[1], O_RDWR|O_NONBLOCK);

       if (fd < 0) {
               perror("Unable to open device");
               return 1;
       }

       /* Get Raw Info */
       res = ioctl(fd, HIDIOCGRAWINFO, &info);
       if (res < 0) {
               perror("error while getting info from device");
       } else {
               if (info.bustype != BUS_USB ||
                   info.vendor != USB_VENDOR_ID_LOGITECH ||
                   (info.product != USB_DEVICE_ID_UNIFYING_RECEIVER &&
                    info.product != USB_DEVICE_ID_UNIFYING_RECEIVER_2)) {
                       errno = EPERM;
                       perror("The given device is not a Logitech "
                               "Unifying Receiver");
                       return 1;
               }
       }

       /* Send the magic sequence to the Device */
       res = write(fd, magic_sequence, sizeof(magic_sequence));
       if (res < 0) {
               printf("Error: %d\n", errno);
               perror("write");
       } else if (res == sizeof(magic_sequence)) {
               printf("The receiver is ready to pair a new device.\n"
               "Switch your device on to pair it.\n");
       } else {
               errno = ENOMEM;
               printf("write: %d were written instead of %ld.\n", res,
                       sizeof(magic_sequence));
               perror("write");
       }
       close(fd);
       return 0;
}

Linux的Unifying配對方式來源為這裡

以Unifying的方式來連線,就沒有連線前要等一段時間的問題,在開進作業系統前鍵盤就可以發揮作用。如果是以藍芽進行連線,由於K580是使用Bluetooth 4.1,比K380使用的Bluetooth 3.0還要更先進,與裝置連上線的速度會比較快一點。

最後來比較一下K580和K380的外型。參考下圖。

logitech-k580

logitech-k580