none
Has anyone used a "MakeyMakey" with IoT Core on a Pi 3?

    Question

  • I have a MakeyMakey and plugged it in to the USB on the Pi3

    It just shows it as "USB IO Board", and should just be a HID and make the key press happen (By nothing)

    I did some looking in to power shell and using devcon form as admin with power shell

    An found the device in the list and seen that it has no driver installed ;-(

    So how can I get this device thats plugged in to use the generic keyboard driver like other HID's?

    Any help to do this from powershell or via C# code would be of great help in kids project that doing for school

    This link was help for to get most of the info but cant seem to get the install to work

    https://msdn.microsoft.com/en-us/windows/hardware/drivers/devtest/devcon-examples?f=255&MSPPError=-2147217396#ddk-example-1-find-all-hardware-ids-tools

    This does give list of drivers for my device

    devcon driverfiles "USB\VID_1B4F&PID_2B75"

    But this does not seem to update the device to use the key board

    devcon /r install c:\windows\inf\keyboard.inf *PID_2B75*


    DO I have to put the whole ID on the end of just a wild card match ?

    This seem to be the full device ID: USB\VID_1B4F&PID_2B75\5&3753427A&0&5

    Thanks



    True_Solutions


    • Edited by IoTGirlModerator Friday, March 17, 2017 3:51 PM Updated Title to reflect issue.
    Friday, March 17, 2017 8:49 AM

Answers

  • The Answer is Yes a real Makey Makey does work on Windows Iot Core
    I just hot new device, plugged in to USB on Pi3 running WinIot core

    It shows as a "Makey Makey v1.20aa" and I was able to go the the cmd line and use it to type, so it installed with out any special steps to install a driver.

    So thanks all for the help can confirm that real Makey Makey does work and no special driver needed


    True_Solutions

    Wednesday, March 22, 2017 3:05 AM

All replies

  • hello

    "So how can I get this device thats plugged in to use the generic keyboard driver like other HID's?"

    As with every Hardware device you should contact the OEM to ask for Windows IoT Core support.

    It looks like your device is not standard HID compatible.

    br
    Andre

    Friday, March 17, 2017 10:18 AM
    Moderator
  • Hi Darrell,

    Sparkfun has a page that explains that the driver must be downloaded.  Take a look at https://learn.sparkfun.com/tutorials/makey-makey-quickstart-guide as it does explain that it will show up as a USB IO Board and then you need to add drivers.

    Note that the RPi is an ARM based board and the challenge may be that the OEM for MakeyMakey may not provide Windows divers for the Pi3 chipset.

    Sincerely,

    IoTGirl

    Friday, March 17, 2017 3:57 PM
    Moderator
  • Have already tired contacting the OEM, and no reply yet

    The device should work as a standard keyboard, just have to work out how to tell the OS to use the generic keyboard driver


    True_Solutions

    Friday, March 17, 2017 6:10 PM
  • The device should work as a standard keyboard, just have to work out how to tell the OS to use the generic keyboard driver

    that's not the way how it works unless you write your own driver for that device

    "should work as a standard keyboard" if that would be true you would not have troubles to use it

    Friday, March 17, 2017 6:18 PM
    Moderator
  • Already looked at spark fun install notes, its about installing on windows not Windows Iot and it also explains that you dont have to install the driver if just want to use as standard keyboard.

    Have installed makeymakey on a few windows pc and it just work (driver is just generic keyboard one)

    Its just a mater of trying to tell the windows Iot OS that this device needs to use the generic keyboard driver, else some how update the board on another pc so that when plugs in tell the board correct info so that it know to use the generic driver.


    True_Solutions

    Friday, March 17, 2017 6:24 PM
  • Hi Darrell,

    When a standard keyboard is inserted into a USB port it presents an identifier that shows it is in fact a keyboard.  There are a number of devices that also present the same id then send commands like a keyboard.  The issue is that the MakeyMakey identifies as a "USB IO Board" rather than "Wired Keyboard".

    Only the OEM knows how they map what their firmware is sending to expect it to be treated as a keyboard. 

    Sincerely,

    IoTGirl

    PS: I did go down the rabbit hole as it were to follow your attempt and it does not identify a clear path for me as well. Here is where I got to before I hit an impasse:

    I used powershell to look at the C:\Windows\Inf folder and I do not see a "keyboard.inf" there so I can confirm that is at least one reason your call does not work unless your device is different than mine. 

    I have a standard MS USB keyboard and mouse hooked up to my Pi and I get this from using DevCon driverfiles *

    USB\VID_045E&PID_0039\5&3753427A&0&4

        Name: Microsoft USB IntelliMouse Optical

    HID\VID_045E&PID_0750&MI_00\7&1C362CB0&0&0000

        Name: HID Keyboard Device

    Then listing the files for the keyboard gets me nothing

    devcon driverfiles "HID\VID_045E&PID_0750&MI_00"

    HID\VID_045E&PID_0750&MI_00\7&1C362CB0&0&0000

        Name: HID Keyboard Device

    1 matching device(s) found.

    So I tried devcon stack "HID\VID_045E&PID_0750&MI_00"

    HID\VID_045E&PID_0750&MI_00\7&1C362CB0&0&0000

        Name: HID Keyboard Device

        Setup Class: {4d36e96b-e325-11ce-bfc1-08002be10318} Keyboard

        Upper class filters:

            kbdclass

        Controlling service:

            kbdhid


    But at this point I have no idea how to hook a "service" to a non matching USB insertion so hopefully the OEM of the MakerMaker can help.



    Friday, March 17, 2017 6:55 PM
    Moderator
  • Hi IoTGirl,

    I will check if the keyboard.inf is their to see if that is my issue
    But I seen it when I did a list of drivers so maybe is internal and not on files (that a guess)

    I stuck a com monitor on the makey make and will look at option of opening the USB port my self
    look to have logic to communicate with makey makey in program

    Might be easier than trying to get the driver working


    True_Solutions

    Sunday, March 19, 2017 8:14 PM
  • Hi Darrell,

    I reached out to a member of the IoT Core team on your behalf to ask about this mechanism:

    "That is correct. IoT does not have keyboard.inf file in it. That’s because IoT is OneCore and we have moved away from .inf and .sys to packages and manifests instead. Such situation is expected."

    So he suspects even if you have the file it may not work on IoT Core.  However, when I did look at the inf folder on the C: drive of my RPI there were still two inf files there, just not keyboard inf.

    If you do get in touch with the OEM of MakeyMakey and they do want it to be recognized as a keyboard by default, the best way would be to modify their firmware to identify it as a HID Keyboard rather than "USB IO Board".

    Sincerely,

    IoTGirl

    Monday, March 20, 2017 5:57 AM
    Moderator
  • I have just found that the Board that I have purchased is a conterfit

    So that may be one of the issue, have ordered new other board to see if issue same on a real makey makey, will try that before I progress with trying to solve drive issue. 



    True_Solutions

    Tuesday, March 21, 2017 1:19 AM
  • Hi Darrell,

    I expect you will have the same issue with the valid device. If the new keyboard identifies as USB IO Board the Windows IoT Core device will not see it as a keyboard.  Did the OEM of the MakeyMakey give you instructions specific to it working with IoT Core?

    Sincerely,

    IoTGirl


    Tuesday, March 21, 2017 4:17 PM
    Moderator
  • Well I should have the new board in a few hours and will be able to check if real makey makey work

    Which also means I will be able then to deal with MakeyMakey direct to resolve (new firmware if needed)

    I did look more at why the keybaord driver might not install
    If their is no .inf that could be issue

    I ran the cmd to list driver files (devcon driverfiles)
    And it does show a HID keyboard driver

    HID\HID_DEVICE_SYSTEM_VHF&COL01\2&1E4CCC0A&0&0000

          Name: HID Keyboard Device


    So maybe instead of this devcon /r install c:\windows\inf\keyboard.inf *PID_2B75*

    I should be using this driver file name instead of a inf file that does not exist
    Have to wait to get the new board then then try more


    True_Solutions

    Tuesday, March 21, 2017 11:33 PM
  • The Answer is Yes a real Makey Makey does work on Windows Iot Core
    I just hot new device, plugged in to USB on Pi3 running WinIot core

    It shows as a "Makey Makey v1.20aa" and I was able to go the the cmd line and use it to type, so it installed with out any special steps to install a driver.

    So thanks all for the help can confirm that real Makey Makey does work and no special driver needed


    True_Solutions

    Wednesday, March 22, 2017 3:05 AM
  • Great! Thanks for the follow up Darrell as well as letting folks know to be aware of imitators!

    Wednesday, March 22, 2017 4:06 PM
    Moderator