Я провел некоторые поиски по этому вопросу, и я не думаю, что вы найдете отличный способ решить эту проблему. Эта запись указывает на то, что это возможно, если вы «создадите новый входной класс, зарегистрируете эти события в главном потоке моих игр, а затем запустите поток, чтобы начать опрос».
Общий консенсус этих двух потоков (включая тот, который вы начали на форумах XNA) показывает мне, что попытка отправить ввод с клавиатуры на другой поток, вероятно, не лучшая идея, и что, если возможно, основной поток должен просто обрабатывать ввод с клавиатуры, а другой поток может читать ввод из общего хранилища основного потока. Альтернативой может быть основной поток, сообщающий вторичному потоку, чтобы он выполнял определенные функции в зависимости от того, какой ввод он получил.
Доступ к клавиатуре из другого потока
Ввод с клавиатуры на другом потоке