bug fixes and additions to keyboard, spi, window, gdi