{"id":4286,"date":"2024-04-23T22:16:13","date_gmt":"2024-04-23T13:16:13","guid":{"rendered":"https:\/\/androiphone.uvs.jp\/?p=4286"},"modified":"2024-06-12T22:54:27","modified_gmt":"2024-06-12T13:54:27","slug":"pc-98esp32-bluetoothble-hid%e3%83%9e%e3%82%a6%e3%82%b9%e3%83%bb%e3%82%ad%e3%83%bc%e3%83%9c%e3%83%bc%e3%83%89%e3%82%92esp32%e3%81%a7pc-98%e3%81%ab%e3%81%a4%e3%81%aa%e3%81%92%e3%82%8b%e2%91%a2","status":"publish","type":"post","link":"https:\/\/androiphone.uvs.jp\/?p=4286","title":{"rendered":"[PC-98][ESP32] Bluetooth(BLE HID)\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u3092ESP32\u3067PC-98\u306b\u3064\u306a\u3052\u308b\u2462"},"content":{"rendered":"<div class=\"linkcard\"><div class=\"lkc-internal-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/androiphone.uvs.jp\/?p=4257\" data-lkc-id=\"986\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=androiphone.uvs.jp\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">ANDROIPHONE<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404232204263402993450348761896-e1713877623345-150x150.jpg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">[PC-98][ESP32] Bluetooth(BLE HID)\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u3092ESP32\u3067PC-98\u306b\u3064\u306a\u3052\u308b\u2460<\/div><div class=\"lkc-date\">&#x1f552;&#xfe0f;2024\u5e744\u670818\u65e5<\/div><div class=\"lkc-excerpt\">BLE(HID)\u6a5f\u5668\u3092EPS32\u306b\u63a5\u7d9a\u3059\u308b\u8272\u3005\u306a\u30ad\u30fc\u30dc\u30fc\u30c9\u3001\u30de\u30a6\u30b9\u3092PC-98\u306b\u63a5\u7d9a\u3057\u3088\u3046\u3068\u3044\u3046\u4f01\u753b(\uff1f)\u3082\u7d42\u76e4\u3067\u3059\u3002PS\/2\u3001USB\u306f\u4f55\u3068\u306a\u304f\u51fa\u6765\u4e0a\u304c\u308a\u307e\u3057\u305f\u3002\u6b8b\u308a\u306fBluetooth\u306b\u306a\u308a\u307e\u3059\u3002\u3084\u308b\u6c17\u306b\u306a\u3063\u305f\u7406\u7531\u306f \tEPS32\u306b\u306fBluetooth(Classic\u30fbBLE)\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u308b \tUSBHostSheild\u304c\u4e0d\u8981 \tUSB\u306e\u6642\u306b\u4f5c\u3063\u305f\u30ac\u30b8\u30a7\u30c3\u30c8\u3092\u305d\u306e\u307e\u307e\u6d41\u7528\u3067\u304d\u308b\u307e\u3041\u30011,2\u306f\u5f8c\u4ed8\u3051\u7406\u7531\u3067\u3059w\u3002\u4e00\u756a\u5927\u304d\u3044\u306e\u306f3\u3067\u3059\u306d\uff01\u3082\u3046\u30b3\u30c6\u63e1\u3063\u3066MiniDin\u3092\u7d50\u7dda\u3059\u308b\u306e\u306f\u8001\u773c(\u521d\u671f\u3068\u4fe1\u3058\u3066\u308b)\u306b\u306f\u3064\u3089\u3044\u2026\u3002\u3084\u308a\u305f\u304f\u306a\u3044\u3002\u6b6f\u79d1\u62e1\u5927\u93e1\u304c\u5fc5\u8981\u306a\u30ec\u30d9\u30eb\u3002Bluetooth\u306b\u306f3.0\u307e\u3067\u306eBluetooth Clas...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<div class=\"linkcard\"><div class=\"lkc-internal-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/androiphone.uvs.jp\/?p=4277\" data-lkc-id=\"987\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=androiphone.uvs.jp\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">ANDROIPHONE<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404210823313845466012830432760-e1713655481797-150x150.jpg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">[PC-98][ESP32] Bluetooth(BLE HID)\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u3092ESP32\u3067PC-98\u306b\u3064\u306a\u3052\u308b\u2461<\/div><div class=\"lkc-date\">&#x1f552;&#xfe0f;2024\u5e744\u670823\u65e5<\/div><div class=\"lkc-excerpt\">\u524d\u56de\u306e\u8a18\u4e8b\u306e\u7d9a\u304d\u3068\u306a\u308a\u307e\u3059\u3002Github\u306f\u4ee5\u4e0b\u3067\u3059\u30ad\u30e3\u30e9\u30af\u30bf\u30ea\u30b9\u30c6\u30a3\u30c3\u30af\u306eNotify\u5c5e\u6027\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u51e6\u7406\u4e0a\u306e\u30b5\u30a4\u30c8\u3067\u89e3\u8aac\u3055\u308c\u3066\u3044\u308b\u901a\u308a\u3001\u30ad\u30e3\u30e9\u30af\u30bf\u30ea\u30b9\u30c6\u30a3\u30c3\u30af\u306b\u306f\u5c5e\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u5c5e\u6027\u3068\u3044\u3046\u3068\u300c\uff1f\u300d\u3063\u3066\u611f\u3058\u306a\u3093\u3067\u3059\u304c\u3001\u901a\u77e5\u3068\u8868\u73fe\u3059\u308b\u3068Notify\u3068\u88ab\u308b\u306e\u3067\u5c5e\u6027\u3068\u8868\u73fe\u3055\u308c\u307e\u3059\u3002\u611f\u899a\u3068\u3057\u3066\u306f\u901a\u77e5\u307f\u305f\u3044\u306a\u3082\u3093\u3067\u3059\u3002 \tRead \tWrite \tNotify \tIndicate\u304c\u3042\u308a\u307e\u3059(\u4ed6\u306b\u3082\u3042\u308b\u304b\u3082)\u3002Read,Write\u306f\u8aad\u307f\u66f8\u304d\u3059\u308b\u5c5e\u6027\u3001Notify,Indicate\u306f\u306a\u3093\u3089\u304b\u306e\u901a\u77e5\u306e\u5c5e\u6027\u3067\u3059\u3002Notify\u3068Indicate\u306e\u9055\u3044\u306f\u63a5\u7d9a\u304b\u3089\u306e\u5fdc\u7b54\u3092\u8981\u6c42\u3059\u308b\u306e\u304cIndicate\u3001\u3057\u306a\u3044\u306e...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>\u3084\u3063\u3068\u6700\u7d42\u8a18\u4e8b\u3067\u3059\u3002GitHub\u306f\u4ee5\u4e0b\u3067\u3059<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/github.com\/maru-dinagon\/BLEto98KbMouse\" data-lkc-id=\"988\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=github.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">GitHub<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/47a6e16c6bc712d247e18cfc8dbda8de442e343ca1603b86b3df221a02f6992a.webp\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">GitHub - maru-dinagon\/BLEto98KbMouse: Connect BLE keyboard and mouse to PC-98...<\/div><div class=\"lkc-url\" title=\"https:\/\/github.com\/maru-dinagon\/BLEto98KbMouse\">https:\/\/github.com\/maru-dinagon\/BLEto98KbMouse<\/div><div class=\"lkc-excerpt\">Connect BLE keyboard and mouse to PC-98 using ESP32 - maru-dinagon\/BLEto98KbMouse<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<hr \/>\n<p><span style=\"font-size: 24pt; color: #ff6600;\"><strong>\u30ad\u30fc\u30dc\u30fc\u30c9\u30d1\u30fc\u30b5\u30fc\u3067Notify\u5c5e\u6027\u306e\u30c7\u30fc\u30bf\u51e6\u7406\u3068PC-98\u3078\u9001\u4fe1<\/strong><\/span><\/p>\n<p>\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u30c7\u30fc\u30bf\u51e6\u7406\u306f\u307b\u3068\u3093\u3069\u304cUSB\u306e\u305d\u308c\u3068\u4e00\u7dd2\u3067\u3059\u3002\u307e\u305fPC-98\u3078\u306e\u9001\u4fe1\u306f\u5168\u304f\u4e00\u7dd2\u3067\u3059w\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-internal-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/androiphone.uvs.jp\/?p=4157\" data-lkc-id=\"976\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=androiphone.uvs.jp\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">ANDROIPHONE<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404031712548192621945114662452-e1712132133651-150x150.jpg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">[PC-98][ESP32] USB\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u3092ESP32\u3067PC-98\u306b\u3064\u306a\u3052\u308b\u2461<\/div><div class=\"lkc-date\">&#x1f552;&#xfe0f;2024\u5e744\u67083\u65e5<\/div><div class=\"lkc-excerpt\">\u3044\u3084\u30411\u6708\uff5e3\u6708\u307e\u3067\u305a\u3063\u3068\u30b9\u30ad\u30fc\u3057\u3066\u307e\u3057\u305f\u3002\u30d1\u30bd\u30b3\u30f3\u3084\u30de\u30a4\u30b3\u30f3\u306a\u3093\u3066\u307b\u3063\u3066\u304a\u3044\u3066\u307e\u3057\u305f\u3002\u30ab\u30fc\u30d3\u30f3\u30b0\u306f\u5965\u304c\u6df1\u3044\u3088\uff01\u307f\u3093\u306a\u51ac\u306f\u5916\u3078\u51fa\u307e\u3057\u3087\u3046\uff01&nbsp;\u3053\u306e\u6295\u7a3f\u3092Instagram\u3067\u898b\u308b&nbsp;\u307e\u3041\u308b(@d_dinagon)\u304c\u30b7\u30a7\u30a2\u3057\u305f\u6295\u7a3f\u307b\u3063\u3068\u304d\u3059\u304e\u305f\u305b\u3044\u3067\u3001Mac Mini\u8d77\u52d5\u3057\u3066\u306a\u3044\u306e\u306b\u58ca\u308c\u308b\u3068\u304b\u2026\u3069\u3086\u3053\u3068\uff1f\u3002\u3067\u306f\u3001\u5b8c\u5168\u306b\u5fd8\u308c\u3066\u3044\u305f98\u3068USB\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u7d9a\u304d\u3067\u3059w\u3002\u524d\u307e\u3067\u306bUSB Host Shield\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068USB HostLibrary 2.0\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u30fb\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306e\u52d5\u4f5c\u307e\u3067\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\u30ab\u30b9\u30bf\u30e0\u30ec\u30dd\u30fc\u30c8\u30d1\u30fc\u30b5\u30fc\u4f5c\u6210\u306e\u6e96\u5099USBHIDBootKbdAn...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>USB Host Sheild\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u304b\u3089\u5fc5\u8981\u306a\u90e8\u5206\u306e\u51e6\u7406\u3084\u5b9a\u7fa9\u3092\u62dd\u501f\u3057\u3066\u5b9f\u88c5\u3092\u884c\u3044\u307e\u3059\u3002Pc98BLEKbdRptParser.hpp\u3001Pc98BLEKbdRptParser.cpp\u3067\u8a18\u8ff0\u3057\u3066\u3044\u307e\u3059\u3002\u9577\u3044\u306e\u3067GitHub\u3067\u773a\u3081\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>PC-98\u3078\u306e\u9001\u4fe1\u90e8\u5206\u3084\u30d6\u30fc\u30c8\u30e2\u30fc\u30c9\u306e\u8a71\u306fUSB\u306e\u6642\u306b\u66f8\u3044\u305f\u901a\u308a\u3067\u3059\u3002\u3082\u3046\u66f8\u304d\u305f\u304f\u306a\u3044\u306e\u3067\u305d\u3063\u3061\u8aad\u3080\u304b\u30b3\u30fc\u30c9\u3092\u8ffd\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u4e0b\u306bUSB\u306e\u6642\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u30d1\u30fc\u30b5\u30fc\u306e\u30ea\u30f3\u30af\u3092\u5165\u308c\u3068\u304d\u307e\u3059\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-internal-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/androiphone.uvs.jp\/?p=4157\" data-lkc-id=\"976\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=androiphone.uvs.jp\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">ANDROIPHONE<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404031712548192621945114662452-e1712132133651-150x150.jpg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">[PC-98][ESP32] USB\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u3092ESP32\u3067PC-98\u306b\u3064\u306a\u3052\u308b\u2461<\/div><div class=\"lkc-date\">&#x1f552;&#xfe0f;2024\u5e744\u67083\u65e5<\/div><div class=\"lkc-excerpt\">\u3044\u3084\u30411\u6708\uff5e3\u6708\u307e\u3067\u305a\u3063\u3068\u30b9\u30ad\u30fc\u3057\u3066\u307e\u3057\u305f\u3002\u30d1\u30bd\u30b3\u30f3\u3084\u30de\u30a4\u30b3\u30f3\u306a\u3093\u3066\u307b\u3063\u3066\u304a\u3044\u3066\u307e\u3057\u305f\u3002\u30ab\u30fc\u30d3\u30f3\u30b0\u306f\u5965\u304c\u6df1\u3044\u3088\uff01\u307f\u3093\u306a\u51ac\u306f\u5916\u3078\u51fa\u307e\u3057\u3087\u3046\uff01&nbsp;\u3053\u306e\u6295\u7a3f\u3092Instagram\u3067\u898b\u308b&nbsp;\u307e\u3041\u308b(@d_dinagon)\u304c\u30b7\u30a7\u30a2\u3057\u305f\u6295\u7a3f\u307b\u3063\u3068\u304d\u3059\u304e\u305f\u305b\u3044\u3067\u3001Mac Mini\u8d77\u52d5\u3057\u3066\u306a\u3044\u306e\u306b\u58ca\u308c\u308b\u3068\u304b\u2026\u3069\u3086\u3053\u3068\uff1f\u3002\u3067\u306f\u3001\u5b8c\u5168\u306b\u5fd8\u308c\u3066\u3044\u305f98\u3068USB\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u7d9a\u304d\u3067\u3059w\u3002\u524d\u307e\u3067\u306bUSB Host Shield\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068USB HostLibrary 2.0\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u30fb\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306e\u52d5\u4f5c\u307e\u3067\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002\u30ab\u30b9\u30bf\u30e0\u30ec\u30dd\u30fc\u30c8\u30d1\u30fc\u30b5\u30fc\u4f5c\u6210\u306e\u6e96\u5099USBHIDBootKbdAn...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/github.com\/maru-dinagon\/USBto98KbMouseBSKBW120S\/blob\/main\/KbdRptParser.h\" data-lkc-id=\"990\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=github.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">GitHub<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/f38145cbaf1fde66c7217e8cbaaac20feac5259016c18a2827561c88d631b71d.webp\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">USBto98KbMouseBSKBW120S\/KbdRptParser.h at main \u00b7 maru-dinagon\/USBto98KbMouseB...<\/div><div class=\"lkc-url\" title=\"https:\/\/github.com\/maru-dinagon\/USBto98KbMouseBSKBW120S\/blob\/main\/KbdRptParser.h\">https:\/\/github.com\/maru-dinagon\/USBto98KbMouseBSKBW120S\/blob\/main\/KbdRptParser.h<\/div><div class=\"lkc-excerpt\">\u30d0\u30c3\u30d5\u30a1\u30ed\u30fc\u306eBSKBW120S\u30b7\u30ea\u30fc\u30baUSB\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u30bb\u30c3\u30c8ESP32\u3092\u7528\u3044\u306698\u7528\u30ad\u30fc\u30dc\u30fc\u30c9\u30fb\u30d0\u30b9\u30de\u30a6\u30b9\u306b\u5909\u63db - maru-dinagon\/USBto98KbMouseBSKBW120S<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>USB\u306e\u6642\u3068\u9055\u3046\u306e\u306fParse()\u306e\u90e8\u5206\u3067\u3059\u3002\u3061\u306a\u307f\u306bBLE\u30ad\u30fc\u30dc\u30fc\u30c9\u3092\u305f\u305f\u3044\u305f\u6642\u306b\u6765\u308b\u30c7\u30fc\u30bf\u3067\u3059\u304c\u3001\u300c1\u30fb\u306c\u300d\u30922\u56de\u62bc\u3059\u3068\u4ee5\u4e0b\u306e\u30ec\u30dd\u30fc\u30c8\u304c\u3067\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">Notification from dd:77:54:88:bc:2e: Service = 0x1812, Characteristic = 0x2a4d,length = 8, Value = 00 00 1e 00 00 00 00 00 \r\nNotification from dd:77:54:88:bc:2e: Service = 0x1812, Characteristic = 0x2a4d,length = 8, Value = 00 00 00 00 00 00 00 00 \r\nNotification from dd:77:54:88:bc:2e: Service = 0x1812, Characteristic = 0x2a4d,length = 8, Value = 00 00 1e 00 00 00 00 00 \r\nNotification from dd:77:54:88:bc:2e: Service = 0x1812, Characteristic = 0x2a4d,length = 8, Value = 00 00 00 00 00 00 00 00 \r\n<\/pre>\n<p>8\u30d0\u30a4\u30c8\u306e\u30ec\u30dd\u30fc\u30c8\u3067\u3059\u304c\u3001HID\u306a\u306e\u3067USB\u30ad\u30fc\u30dc\u30fc\u30c9\u3068\u540c\u3058\u3067\u3059\u3002\u3068\u3044\u3046\u3053\u3068\u306fUSB HostSheild Library\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u30d1\u30fc\u30b5\u30fc\u306e\u7d99\u627f\u5143\u3067\u3042\u308bKeyboardReportParser\u306e\u30af\u30e9\u30b9\u306eParse\u51e6\u7406\u3092\u30d1\u30af\u308c\u3070\u3044\u3044\u308f\u3051\u3067\u3059\u3002\u3068\u3044\u3046\u308f\u3051\u3067\u3001Parse\u90e8\u5206\u3092\u79fb\u690d\u3057USBHID\u306f\u4e0d\u8981\u306a\u306e\u3067\u524a\u9664\u3057\u3001\u5fc5\u8981\u306a\u69cb\u9020\u4f53MODIFIERKEYS,KBDINFO\u3092hpp\u3067\u5ba3\u8a00\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">\/\/\u30d1\u30fc\u30b5\u30fc \u30d1\u30b1\u95778byte hidboot.cpp KeyboardReportParser::Parse\u90e8\u79fb\u690d\r\nvoid Pc98BLEKbdRptParser::Parse(uint8_t len __attribute__((unused)), uint8_t *buf) {\r\n \r\n        \/\/ On error - return\r\n        if (buf[2] == 1)\r\n                return;\r\n\r\n        \/\/KBDINFO       *pki = (KBDINFO*)buf;\r\n\r\n        \/\/ provide event for changed control key state\r\n        if (prevState.bInfo[0x00] != buf[0x00]) {\r\n                OnControlKeysChanged(prevState.bInfo[0x00], buf[0x00]);\r\n        }\r\n\r\n        for (uint8_t i = 2; i &lt; 8; i++) {\r\n                bool down = false;\r\n                bool up = false;\r\n\r\n                for (uint8_t j = 2; j &lt; 8; j++) {\r\n                        if (buf[i] == prevState.bInfo[j] &amp;&amp; buf[i] != 1)\r\n                                down = true;\r\n                        if (buf[j] == prevState.bInfo[i] &amp;&amp; prevState.bInfo[i] != 1)\r\n                                up = true;\r\n                }\r\n                if (!down) {\r\n                        \/\/HandleLockingKeys(hid, buf[i]);\r\n                        OnKeyDown(*buf, buf[i]);\r\n                }\r\n                if (!up)\r\n                        OnKeyUp(prevState.bInfo[0], prevState.bInfo[i]);\r\n        }\r\n        for (uint8_t i = 0; i &lt; 8; i++)\r\n                prevState.bInfo[i] = buf[i];\r\n};<\/pre>\n<p>98\u30ad\u30fc\u30dc\u30fc\u30c9\u3078\u306e\u30d4\u30f3\u30a2\u30b5\u30a4\u30f3\u306b\u5909\u66f4\u306f\u306a\u3044\u3067\u3059\u3002\u3053\u308c\u3067\u307b\u307c\u52d5\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u304c\u20263COIN\u306e\u30af\u30bb\u3064\u3088\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u305b\u3044\u3067\u4ee5\u4e0b\u306e\u70b9\u3067\u4fee\u6b63\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404232049084221575928022714111.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4288\" src=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404232049084221575928022714111-300x135.jpg\" alt=\"\" width=\"431\" height=\"194\" srcset=\"https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404232049084221575928022714111-300x135.jpg 300w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404232049084221575928022714111-1024x461.jpg 1024w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404232049084221575928022714111-768x346.jpg 768w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404232049084221575928022714111-1536x691.jpg 1536w, https:\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/img202404232049084221575928022714111.jpg 2000w\" sizes=\"auto, (max-width: 431px) 100vw, 431px\" \/><\/a><\/p>\n<ol>\n<li>\u300c\\\u30fb\u308d\u300d\u30ad\u30fc\u304c\u306a\u3093\u304b\u5909<\/li>\n<li>\u300c]\u30fb\u3080\u300d\u30ad\u30fc\u304c\u306a\u3093\u304b\u5909<\/li>\n<\/ol>\n<p>\u4e0a\u306e\u30ad\u30fc\u306e\u4f4d\u7f6e\u3082\u304a\u304b\u3057\u3044\u3057\u3001\u30a8\u30f3\u30bf\u30fc\u304c\u9577\u3044\u3068\u304b\u2026<\/p>\n<blockquote><p><span style=\"font-size: 18pt; color: #ff0000;\"><strong>\u30e1\u30c1\u30e3\u30af\u30c1\u30e3\u8aa4\u5165\u529b\u3057\u3061\u3083\u3046\u305c!!<\/strong><\/span><\/p><\/blockquote>\n<p>\u5b89\u7269\u8cb7\u3044\u306e\u306a\u3093\u3068\u304b\u3067\u3059\u3051\u3069\u3001BLE\u30ad\u30fc\u30dc\u30fc\u30c9\u304c\u3001\u3053\u308c\u3057\u304b\u306a\u3044\u306e\u3067\u9032\u3081\u3056\u308b\u3048\u307e\u305b\u3093\u3002<\/p>\n<pre class=\"lang:default decode:true\">#ifdef BLE_3COIN_KB\r\n  \/\/3COIN\u30ad\u30fc\u30dc\u30fc\u30c9\u3000\\ -&gt; YEN\u3078\r\n  if(c == 0x33 &amp;&amp; !p_shift &amp;&amp; !p_ctrl){\r\n    c = 0x0D; \r\n  }\r\n#endif\r\n\r\n#ifdef BLE_3COIN_KB\r\n  \/\/3COIN\u30ad\u30fc\u30dc\u30fc\u30c9\u3000\\ -&gt; YEN\u3078\r\n  if(c == 0x33 &amp;&amp; !p_shift &amp;&amp; !p_ctrl){\r\n    c = 0x0D; \r\n  }\r\n#endif\r\n\r\n#ifdef BLE_3COIN_KB\r\n  codeArray[0x31] = 0x28;    \/\/ ] \u203bBLE\u30003COIN\u30ad\u30fc\u30dc\u30fc\u30c9\u3067\u306f0x32\u3068\u540c\u3058   \r\n#else\r\n  codeArray[0x31] = 0xFF;    \/\/ ??   \r\n#endif\r\n\r\n<\/pre>\n<p>KeyDown,KeyUp\u306e\u90e8\u5206\u3068codeArray\u90e8\u306e\u4e00\u90e8\u5909\u66f4\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u3002\u3042\u3068\u306f\u6a19\u6e96\u306eUSB\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u30ad\u30fc\u30b3\u30fc\u30c9\u3067\u3088\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<p><span style=\"color: #ff0000;\"><strong><span style=\"font-size: 14pt;\">[2024\/04\/29] \u30c0\u30a4\u30bd\u30fc\u3067BLE\u306e\u30d5\u30eb\u30b5\u30a4\u30ba\u30ad\u30fc\u30dc\u30fc\u30c9\u304c\u58f2\u3063\u3066\u3044\u3066\u305d\u3063\u3061\u306e\u307b\u3046\u304c\u64cd\u4f5c\u611f\u306f\u3044\u3044\u3067\u3059\u3002\u8a18\u4e8b\u30ea\u30f3\u30af\u8cbc\u3063\u3068\u304d\u307e\u3059<\/span><\/strong><\/span><\/p>\n<div class=\"linkcard\"><div class=\"lkc-internal-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/androiphone.uvs.jp\/?p=4366\" data-lkc-id=\"993\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=androiphone.uvs.jp\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">ANDROIPHONE<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/2024\/04\/DSC8644-150x150.jpg\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">[PC-98][ESP32] Bluetooth(BLE HID)\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u3092ESP32\u3067PC-98\u306b\u3064\u306a\u3052\u308b ...<\/div><div class=\"lkc-date\">&#x1f552;&#xfe0f;2024\u5e744\u670829\u65e5<\/div><div class=\"lkc-excerpt\">\u30c0\u30a4\u30bd\u30fc\u306e\u65b0Bluetooth\u30d5\u30eb\u30b5\u30a4\u30ba\u30ad\u30fc\u30dc\u30fc\u30c9\u30c0\u30a4\u30bd\u30fc\u3092\u30d5\u30e9\u30d5\u30e9\u3057\u3066\u3044\u308b\u3068\u3001\u30d5\u30eb\u30b5\u30a4\u30ba\u306ebluetooth(5.0)\u306e\u30ad\u30fc\u30dc\u30fc\u30c9\u304c\u58f2\u3063\u3066\u3044\u308b\u3058\u3083\u306a\u3044\u3067\u3059\u304b\uff01\u4ee5\u524d\u306e\u8a18\u4e8b\u30673COIN\u306e\u30af\u30bb\u3064\u3088\u30ad\u30fc\u30dc\u30fc\u30c9\u3067\u4f7f\u3044\u306b\u304f\u304f\u3066\u4e0d\u5b8c\u5168\u71c3\u713c\u3067\u3057\u305f\u306e\u3067\u3050\u3089\u3063\u3068\u6765\u307e\u3059\u3002\u624b\u306b\u53d6\u3063\u3066\u307f\u308b\u30681000\u5186\u306a\u306e\u306b2\u3064\u306e\u6a5f\u5668\u3067\u767b\u9332\u3067\u304d\u308b\u3068\u3044\u3046\u795e\u4ed5\u69d8\u3002\u3044\u3064\u306e\u9593\u306b\u304b\u30ab\u30b4\u306b\u5165\u3063\u3066\u307e\u3057\u305f\u3067\u3082\u30bf\u30a4\u30d4\u30f3\u30b0\u3068\u304b\u30a4\u30de\u30a4\u30c1\u306a\u3093\u3067\u3057\u3087\uff1f\u3068\u304b\u601d\u3044\u3064\u3064\u300198\u3068Win\u6a5f\u3067\u5207\u308a\u66ff\u3048\u306a\u304c\u3089\u4f7f\u3048\u3070\u30ad\u30fc\u30dc\u30fc\u30c9\u90aa\u9b54\u306b\u306a\u3089\u306a\u3044\u306a\u3068\u30cb\u30e4\u30cb\u30e4\u306b\u306a\u304c\u3089\u5e30\u5b85\u3002\u65e9\u901f\u30b3\u30fc\u30c9\u4fee\u6b63\u306b\u53d6\u308a\u639b\u304b\u308a\u307e\u3059\u3002&nbsp;\u3053\u306e\u6295\u7a3f...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<hr \/>\n<p><span style=\"font-size: 24pt; color: #ff6600;\"><strong>\u30de\u30a6\u30b9\u30d1\u30fc\u30b5\u30fc\u3067Notify\u5c5e\u6027\u306e\u30c7\u30fc\u30bf\u51e6\u7406\u3068PC-98\u3078\u9001\u4fe1<\/strong><\/span><\/p>\n<p>\u6b21\u306f\u30de\u30a6\u30b9\u30d1\u30fc\u30b5\u30fc\u3067\u3059\u3002\u30de\u30a6\u30b9\u3092\u52d5\u304b\u3059\u3068\u4ee5\u4e0b\u306e\u30ec\u30dd\u30fc\u30c8\u304c\u304d\u307e\u3059<\/p>\n<pre class=\"lang:default decode:true \">Notification from dc:00:a8:2c:13:00: Service = 0x1812, Characteristic = 0x2a4d,length = 7, Value = 00 0d 00 fd ff 00 00\r\nNotification from dc:00:a8:2c:13:00: Service = 0x1812, Characteristic = 0x2a4d,length = 7, Value = 00 08 00 fe ff 00 00\r\n<\/pre>\n<p>\u30de\u30a6\u30b9\u306f\u30c7\u30fc\u30bf\u9577\u3067\u30c1\u30e7\u30a4\u30c1\u30e7\u30a4\u60c5\u5831\u304c\u9055\u3044\u307e\u3059\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/github.com\/maru-dinagon\/USBto98KbMouseBSKBW120S\/blob\/main\/BskBw120aMParser.h\" data-lkc-id=\"985\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-favicon\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=github.com\" alt=\"\" width=\"16\" height=\"16\" \/><\/div><div class=\"lkc-domain\">GitHub<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/androiphone.uvs.jp\/wp-content\/uploads\/pz-linkcard\/cache\/f38145cbaf1fde66c7217e8cbaaac20feac5259016c18a2827561c88d631b71d.webp\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">USBto98KbMouseBSKBW120S\/BskBw120aMParser.h at main \u00b7 maru-dinagon\/USBto98KbMo...<\/div><div class=\"lkc-url\" title=\"https:\/\/github.com\/maru-dinagon\/USBto98KbMouseBSKBW120S\/blob\/main\/BskBw120aMParser.h\">https:\/\/github.com\/maru-dinagon\/USBto98KbMouseBSKBW120S\/blob\/main\/BskBw120aMParser.h<\/div><div class=\"lkc-excerpt\">\u30d0\u30c3\u30d5\u30a1\u30ed\u30fc\u306eBSKBW120S\u30b7\u30ea\u30fc\u30baUSB\u30de\u30a6\u30b9\u30fb\u30ad\u30fc\u30dc\u30fc\u30c9\u30bb\u30c3\u30c8ESP32\u3092\u7528\u3044\u306698\u7528\u30ad\u30fc\u30dc\u30fc\u30c9\u30fb\u30d0\u30b9\u30de\u30a6\u30b9\u306b\u5909\u63db - maru-dinagon\/USBto98KbMouseBSKBW120S<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>USB\u306e\u3068\u304d\u306f3byte\u306e\u30c7\u30fc\u30bf\u3067\u6765\u3066\u307e\u3057\u305f\u304c\u3001\u4eca\u56de\u306f7byte\u3067\u3059\u3002USB\u306e\u6642\u3082\u8272\u3005\u306a\u30de\u30a6\u30b9\u3067\u8a66\u3057\u307e\u3057\u305f\u30027byte\u3082\u3042\u308a\u307e\u3057\u305f\u3057\u3001\u307b\u304b\u306e\u9577\u3055\u3082\u3042\u308a\u307e\u3057\u305f\u3002\u305d\u3093\u306a\u306b\u96e3\u3057\u3044\u30c7\u30fc\u30bf\u69cb\u9020\u3067\u306f\u306a\u3044\u306e\u3067\u30d1\u30fc\u30b5\u30fc\u90e8\u3092\u66f8\u304d\u76f4\u3057\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true\">bool Pc98BLEMouseReportParser::ParseMouseData(MOUSEINFO_EX &amp;pmi,uint32_t len, uint8_t *buf){\r\n  \/\/\u30c7\u30fc\u30bf\u9577 7byte\r\n  if(len != 7) return false;\r\n\r\n  \/\/\u30dc\u30bf\u30f3\r\n  uint8_t btn = buf[0];\r\n  pmi.bmLeftButton    = ((btn &amp; 0x01) == 0x01 ) ? 1:0;\r\n  pmi.bmRightButton   = ((btn &amp; 0x02) == 0x02 ) ? 1:0;\r\n  pmi.bmMiddleButton  = ((btn &amp; 0x04) == 0x04 ) ? 1:0;\r\n\r\n\r\n  \/\/X\u65b9\u5411\u306e\u79fb\u52d5\r\n  uint8_t x_val = buf[1];\r\n  bool x_dire = (buf[2] &gt; 0 ) ? true : false;  \/\/\u53f3\u5411\u304d\u306a\u3089true;\r\n  if(x_dire){\r\n    pmi.dX = x_val;  \r\n  }else{\r\n    pmi.dX = - (256 - x_val);\r\n  }\r\n\r\n  \/\/Y\u65b9\u5411\u306e\u79fb\u52d5\r\n  uint8_t y_val = buf[3];\r\n  bool y_dire = (buf[4] &gt; 0 ) ? true : false;  \/\/\u4e0b\u5411\u304d\u306a\u3089true;\r\n  if(y_dire){\r\n    pmi.dY = y_val;  \r\n  }else{\r\n    pmi.dY = - (256 - y_val);\r\n  }\r\n\r\n\r\n\/*  \r\n  \/\/\u30b9\u30af\u30ed\u30fc\u30eb\r\n  uint8_t sc = buf[6];\r\n  if(sc == 0x01){\r\n    pmi.wheel = 1;\r\n  }else if(sc == 0xFF){\r\n    pmi.wheel = -1;\r\n  }else{\r\n    pmi.wheel = 0;\r\n  }\r\n*\/  \r\n  pmi.wheel = 0;\r\n  \r\n  return true; \r\n}<\/pre>\n<p>\u3068\u3042\u3048\u305a\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\u306a\u3093\u304b\u4e09\u9805\u6f14\u7b97\u5b50\u4f7f\u308f\u306a\u304f\u3066\u3082\u3044\u3044\u3068\u3053\u308d\u304c\u3042\u308a\u307e\u3059\u304c\u623b\u308a\u5024\u30a2\u30d4\u30fc\u30eb\u306e\u70ba\u305d\u306e\u307e\u307e\u306b\u3057\u307e\u3059w\u3002\u5b9f\u969b\u306b\u306f\u4e0b\u306ePaese\u304b\u3089\u547c\u3073\u51fa\u3055\u308c\u5404\u7a2e\u30a4\u30d9\u30f3\u30c8\u304c\u8d77\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u30de\u30a6\u30b9\u304c\u5909\u308f\u3063\u305f\u3068\u304d\u306b\u306fParseMouseData\u3092\u66f8\u304d\u63db\u3048\u307e\u3059\u3002\u524d\u306b\u3082\u66f8\u304d\u307e\u3057\u305f\u304c\u6587\u5b57\u5217\u51e6\u7406\u306a\u3069\u306f\u91cd\u304f\u306a\u308b\u306e\u3067\u6975\u529b\u63a7\u3048\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">void Pc98BLEMouseReportParser::Parse(uint8_t len, uint8_t *buf){\r\n  \r\n  MOUSEINFO_EX pmi;\r\n  bool f = ParseMouseData(pmi,len,buf);\r\n\r\n#ifdef OUTPUT_MOUSE_DATA\r\n  if (len &amp;&amp; buf)  {\r\n    Serial.print(F(\"MouseData\"));\r\n    Serial.print(F(\": \"));\r\n    for (uint8_t i = 0; i &lt; len; i++) {\r\n        if (buf[i] &lt; 16) Serial.print(F(\"0\"));\r\n        Serial.print(buf[i], HEX);\r\n        Serial.print(F(\" \"));\r\n    }\r\n    Serial.println(\"\");\r\n  }\r\n#endif\r\n\r\n  if(!f) return;\r\n\r\n\r\n\tif (prev_mInfo.bmLeftButton == 0 &amp;&amp; pmi.bmLeftButton == 1)    \r\n\t\tOnLeftButtonDown(&amp;pmi);\r\n\r\n\tif (prev_mInfo.bmLeftButton == 1 &amp;&amp; pmi.bmLeftButton == 0)\r\n\t\tOnLeftButtonUp(&amp;pmi);\r\n\r\n\tif (prev_mInfo.bmRightButton == 0 &amp;&amp; pmi.bmRightButton == 1)\r\n\t\tOnRightButtonDown(&amp;pmi);\r\n\r\n\tif (prev_mInfo.bmRightButton == 1 &amp;&amp; pmi.bmRightButton == 0)\r\n\t\tOnRightButtonUp(&amp;pmi);\r\n\r\n\tif (prev_mInfo.bmMiddleButton == 0 &amp;&amp; pmi.bmMiddleButton == 1)\r\n\t\tOnMiddleButtonDown(&amp;pmi);\r\n\r\n\tif (prev_mInfo.bmMiddleButton == 1 &amp;&amp; pmi.bmMiddleButton == 0)\r\n\t\tOnMiddleButtonUp(&amp;pmi);\r\n\r\n\tif(pmi.wheel != 0){\r\n    ( pmi.wheel &gt; 0 ) ? OnScrollUp(&amp;pmi) : OnScrollDown(&amp;pmi); \r\n  }\r\n  \r\n  if (pmi.dX != 0 || pmi.dY != 0)\r\n\t\tOnMouseMove(&amp;pmi);\r\n\r\n  prev_mInfo = pmi;\r\n \r\n}<\/pre>\n<p>\u30a4\u30d9\u30f3\u30c8\u306e\u51e6\u7406\u306fUSB\u306e\u6642\u3068\u4e00\u7dd2\u3067\u3059\u3002<\/p>\n<hr \/>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/C6A_JI1q84E?si=3Hy2qqUH9VIosfin\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>\u30c6\u30b9\u30c8\u3057\u305fPC-98\u306fPC-9821V166(\u30b8\u30e3\u30f3\u30d1\u3067200Mhz\u52d5\u4f5c)\u9752\u672d\u3002CF\u3001SSD\u63db\u88c5\u3001FDD\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u30fc(SFR1M44-U100\u00d72)\u3002\u30ea\u30bb\u30c3\u30c8\u30dc\u30bf\u30f3\u304c\u306a\u304f\u3066\u8272\u3005\u3068\u4e0d\u6e80\u304c\u3042\u308a\u307e\u3059\u304c\u2026\u3002\u30de\u30a6\u30b9\u30ad\u30fc\u30dc\u30fc\u30c9\u306fMiniDin\u306e\u4e38\u30b3\u30cd\u30af\u30bf\u3067\u3059\u3002OS\u306fWin2000\u3001MS-DOS6\u3001Win98SE\u3067\u3059\u3002<\/p>\n<p>Win2000\u3001Win98SE\u306f\u30b3\u30f3\u30d1\u30cd\u306e\u30de\u30a6\u30b9\u3067\u8abf\u6574\u3092\u3057\u3066\u3044\u307e\u3059\u3002DOS\u30de\u30a6\u30b9\u30c9\u30e9\u30a4\u30d0\u3092\u8d77\u52d5\u3057\u3066DOS\u30b7\u30a7\u30eb\u3067\u3059\u3002\u30b2\u30fc\u30e0\u3082\u8a66\u3057\u307e\u3057\u305f\u304c\u554f\u984c\u306a\u304f\u52d5\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u30ac\u30b7\u30a7\u30c3\u30c8\u306fUSB\u306e\u6642\u3068\u540c\u3058\u6a5f\u6750\u3092\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002USH Host Sheild\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002\u3082\u3063\u3068\u30b3\u30f3\u30d1\u30af\u30c8\u306b\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002CAPS,NumLK,\u30ab\u30ca\u306eLED\u306b\u3082\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u3064\u3082\u308a\u3067\u3059\u3002BLE\u306e\u307b\u3046\u304c\u5b89\u5b9a\u3057\u3066\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\u306d\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3084\u3063\u3068\u6700\u7d42\u8a18\u4e8b\u3067\u3059\u3002GitHub\u306f\u4ee5\u4e0b\u3067\u3059 \u30ad\u30fc\u30dc\u30fc\u30c9\u30d1\u30fc\u30b5\u30fc\u3067Notify\u5c5e\u6027\u306e\u30c7\u30fc\u30bf\u51e6\u7406\u3068PC-98\u3078\u9001\u4fe1 \u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u30c7\u30fc\u30bf\u51e6\u7406\u306f\u307b\u3068\u3093\u3069\u304cUSB\u306e\u305d\u308c\u3068\u4e00\u7dd2\u3067\u3059\u3002\u307e\u305fPC-98\u3078\u306e\u9001\u4fe1\u306f\u5168\u304f\u4e00\u7dd2\u3067\u3059w\u3002 USB  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4288,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"ja","_original_post":"https:\/\/androiphone.uvs.jp\/?p=4286","footnotes":""},"categories":[188,163,176,38,73],"tags":[189,177],"class_list":["post-4286","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ble","category-esp32","category-pc-98","category-38","category-73","tag-ble","tag-pc-98","ja"],"_links":{"self":[{"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/posts\/4286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4286"}],"version-history":[{"count":17,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/posts\/4286\/revisions"}],"predecessor-version":[{"id":4302,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/posts\/4286\/revisions\/4302"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=\/wp\/v2\/media\/4288"}],"wp:attachment":[{"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/androiphone.uvs.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}