Ok, this will probably not help, because keyboards are not attached to PCI, but since you have a lot more experience with Linux than I, it might make you think of other ideas
I also was passing noacpi to the kernel, because my motherboard wouldn't boot many distributions (Slack included). I did some reading and people suggested passing pci=nocrs instead of noacpi. Apparently it just reverts the default method for finding PCI resources. And remember what I wrote at the beginning :P