Harvie / ps2dev

Arduino library to emulate PS2 keyboard/mouse
MIT License
114 stars 27 forks source link

Move source files to toplevel #19

Open lindi2 opened 3 years ago

lindi2 commented 3 years ago

This makes the library importable on Debian 10 with arduino 2:1.0.5+dfsg2-4.1

I have not really studied any arduino library writing guidelines but if I look at all the existing libraries I have none of them have sources in a "src" subdirectory:

$ find /usr/share/arduino/libraries -name "*.h"
/usr/share/arduino/libraries/GSM/GSM3MobileNetworkProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileCellManagement.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1CellManagement.h
/usr/share/arduino/libraries/GSM/GSM3CircularBuffer.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1AccessProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ModemVerification.h
/usr/share/arduino/libraries/GSM/GSM3SMSService.h
/usr/share/arduino/libraries/GSM/GSM3VoiceCallService.h
/usr/share/arduino/libraries/GSM/GSM3MobileNetworkRegistry.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ClientProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileServerService.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1BaseProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1VoiceProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1MultiServerProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileServerProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileSMSProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileAccessProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ModemCore.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1DataNetworkProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1SMSProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileClientProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileClientService.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1BandManagement.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1MultiClientProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileDataNetworkProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileVoiceProvider.h
/usr/share/arduino/libraries/GSM/GSM.h
/usr/share/arduino/libraries/GSM/GSM3MobileMockupProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1PinManagement.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1DirectModemProvider.h
/usr/share/arduino/libraries/GSM/GSM3SoftSerial.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ServerProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ScanNetworks.h
/usr/share/arduino/libraries/Robot_Motor/ArduinoRobotMotorBoard.h
/usr/share/arduino/libraries/Robot_Motor/LineFollow.h
/usr/share/arduino/libraries/Robot_Motor/Multiplexer.h
/usr/share/arduino/libraries/Robot_Motor/EasyTransfer2.h
/usr/share/arduino/libraries/EEPROM/EEPROM.h
/usr/share/arduino/libraries/Stepper/Stepper.h
/usr/share/arduino/libraries/Esplora/Esplora.h
/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h
/usr/share/arduino/libraries/Robot_Control/Fat16util.h
/usr/share/arduino/libraries/Robot_Control/Arduino_LCD.h
/usr/share/arduino/libraries/Robot_Control/Wire.h
/usr/share/arduino/libraries/Robot_Control/Multiplexer.h
/usr/share/arduino/libraries/Robot_Control/utility/VirtualKeyboard.h
/usr/share/arduino/libraries/Robot_Control/utility/RobotTextManager.h
/usr/share/arduino/libraries/Robot_Control/utility/twi.h
/usr/share/arduino/libraries/Robot_Control/utility/scripts_Hello_User.h
/usr/share/arduino/libraries/Robot_Control/Squawk.h
/usr/share/arduino/libraries/Robot_Control/Compass.h
/usr/share/arduino/libraries/Robot_Control/EasyTransfer2.h
/usr/share/arduino/libraries/Robot_Control/Fat16.h
/usr/share/arduino/libraries/Robot_Control/SdCard.h
/usr/share/arduino/libraries/Robot_Control/FatStructs.h
/usr/share/arduino/libraries/Robot_Control/EEPROM_I2C.h
/usr/share/arduino/libraries/Robot_Control/SquawkSD.h
/usr/share/arduino/libraries/Robot_Control/Fat16mainpage.h
/usr/share/arduino/libraries/Robot_Control/Fat16Config.h
/usr/share/arduino/libraries/Robot_Control/Adafruit_GFX.h
/usr/share/arduino/libraries/Robot_Control/SdInfo.h
/usr/share/arduino/libraries/Robot_Control/SPI.h
/usr/share/arduino/libraries/Robot_Control/ArduinoRobot.h
/usr/share/arduino/libraries/Ethernet/EthernetUdp.h
/usr/share/arduino/libraries/Ethernet/Dhcp.h
/usr/share/arduino/libraries/Ethernet/utility/socket.h
/usr/share/arduino/libraries/Ethernet/utility/w5100.h
/usr/share/arduino/libraries/Ethernet/EthernetClient.h
/usr/share/arduino/libraries/Ethernet/EthernetServer.h
/usr/share/arduino/libraries/Ethernet/util.h
/usr/share/arduino/libraries/Ethernet/Dns.h
/usr/share/arduino/libraries/Ethernet/Ethernet.h
/usr/share/arduino/libraries/SD/SD.h
/usr/share/arduino/libraries/SD/utility/SdFat.h
/usr/share/arduino/libraries/SD/utility/SdFatmainpage.h
/usr/share/arduino/libraries/SD/utility/SdFatUtil.h
/usr/share/arduino/libraries/SD/utility/Sd2PinMap.h
/usr/share/arduino/libraries/SD/utility/FatStructs.h
/usr/share/arduino/libraries/SD/utility/Sd2Card.h
/usr/share/arduino/libraries/SD/utility/SdInfo.h
/usr/share/arduino/libraries/Firmata/Firmata.h
/usr/share/arduino/libraries/Firmata/Boards.h
/usr/share/arduino/libraries/Servo/Servo.h
/usr/share/arduino/libraries/SoftwareSerial/SoftwareSerial.h
/usr/share/arduino/libraries/SPI/SPI.h
/usr/share/arduino/libraries/TFT/utility/Adafruit_ST7735.h
/usr/share/arduino/libraries/TFT/utility/Adafruit_GFX.h
/usr/share/arduino/libraries/TFT/utility/PImage.h
/usr/share/arduino/libraries/TFT/TFT.h
/usr/share/arduino/libraries/WiFi/WiFiClient.h
/usr/share/arduino/libraries/WiFi/utility/wifi_spi.h
/usr/share/arduino/libraries/WiFi/utility/wl_definitions.h
/usr/share/arduino/libraries/WiFi/utility/wifi_drv.h
/usr/share/arduino/libraries/WiFi/utility/debug.h
/usr/share/arduino/libraries/WiFi/utility/wl_types.h
/usr/share/arduino/libraries/WiFi/utility/socket.h
/usr/share/arduino/libraries/WiFi/utility/server_drv.h
/usr/share/arduino/libraries/WiFi/utility/spi_drv.h
/usr/share/arduino/libraries/WiFi/WiFiServer.h
/usr/share/arduino/libraries/WiFi/WiFiUdp.h
/usr/share/arduino/libraries/WiFi/WiFi.h
/usr/share/arduino/libraries/Wire/Wire.h
/usr/share/arduino/libraries/Wire/utility/twi.h
Harvie commented 3 years ago

At the first sight, i am not a huge fan of this. Never had any issues. That version you use seems rather old to me. Have you tried upgrading? Also i beleive arduino had changed library guidelines few years ago. I will have to do some research.

Also in the long run i tend to make my libraries compatible both with Arduino IDE and Mongoose OS, so perhaps this might be an issue as well.

lindi2 commented 3 years ago

I'll test with Debian 11 and report back.

lindi2 commented 3 years ago

The issue does not seem to occur with Debian 11 that comes with arduino 2:1.8.13+dfsg1-2. I tried both using the library manager and importing ps2dev from a folder.

Is there perhaps some way for the library to declare the minimum supported arduino version?