Excelente, ahora me encuentro en Windows ya me lo descargue e instale, ahora me encuentro en la interfaz para generar el código, pero tengo un problema que me pide el Product ID de mi dispositivo, pero no tengo idea de cual sea y ahora me encuentro buscando en las paginas de TI, tu sabes algo sobre el PID?, muchas gracias, adjunto captura.
Yo utilizaría el mismo que viene con el launchpad, o sacalo de algún código de ejemplo, a ver... en mi caso en la ubicación:
MSP430USBDevelopersPackage_5_00_00/MSP430_USB_Software/MSP430_USB_API/examples/HID_humanInterface/Traditional/H8_Keyboard/USB_config
En el archivo descriptors.h están estas dos líneas:
#define USB_VID 0x2047 // Vendor ID (VID)
#define USB_PID 0x0315 // Product ID (PID)
así que utilizaría esos dos valores.
Vale aclarar que esto es aceptable siempre y cuando sea para hacer un proyecto que uses solito en tu casa.
Si después quisieras vender este desarrollo - que seguramente va a ser el mejor teclado multimedia del mundo y va a ser un éxito sin precedentes

- los fabricantes de micros tiene alguna clase de licencia donde te asignan números de PID siempre y cuando utilices productos de ellos.
Si no se puede saltar al intermediario e ir a usb.org y tener tu propio VID, pero eso dejarlo después de vender algún que otro millón que sino no se justifica.
Entonces sí, proyecto para casita: usaría lo de los ejemplos, proyecto para vender: le mando un mail a Texas, proyecto masivo exitoso: me voy al usb.org
El VID es para identificar la empresa (Texas, Microchip, ST), el PID es para identificar el producto particular de esa empresa (teclado, mouse, impresora...).
Se supone que estas interfaces: HID, CDC, MSD y algunas más son estandar y que no haría falta drivers para que los sistemas operativos puedan trabajar con ellos.
Pero algunos sistemas operativos remolones caso de Windows con CDC y de Linux con HID precisan un driver/librería que les diga como operar con el dispositivo. Esto era hasta hace algún tiempo atrás, quizás esto hoy ya no pasa.
Y si se trata de un dispositivo no estandar (escribir y leer directamente a endpoints cosa que no recomiendo si se puede evitar porque después vas a tener que hacer los drivers para Windows, Linux, Apple, Android, etc, etc) el sistema operativo usa el VID/PID para buscar el driver y decir... aja!!! para este VID/PID tengo que usar el ñpfdgsdñgtih.sys o el archivo que sea.
Es una desventaja esto de licenciar el VID y PID para el USB, de la misma manera que una placa de red precisa una dirección MAC, el usb precisa un VID/PID, es el documento de identidad del dispositivo.
Ah... y un temita más... como verás en los ejemplos siempre aparece una carpeta llamada driverlib (por lo menos en la última versión que instalé el año pasado).
Esa carpeta tiene código para manejar los módulos o periféricos del micro: puerto I/O, ADC, uart, spi, i2c, y lo que es más importante: módulo USB.
Así que a la lista de carpetas agregamos esta otra, porque el código de la librería usb utiliza las funciones de esa otra librería... bienvenido al entrevero.