Имитация вывода с клавиатуры (заставляющая компьютер изображать клавиатуру другого компьютера)

Этот ответ вызвал некоторую ошибку в Swift 3, вот рабочий ответ:

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    if string.characters.count == 0 {
        return true
    }
    do {
        if textField == self.numberTextField {

            let nString = textField.text as NSString?
            let newString = nString?.replacingCharacters(in: range, with: string)
            let expression = "^([0-9]+)?(\\.([0-9]{1,2})?)?$"
            let regex = try NSRegularExpression(pattern: expression, options: .caseInsensitive)
            let numberOfMatches = regex.numberOfMatches(in: newString! as String, options: [], range: NSRange(location: 0, length: (newString?.characters.count)!))

            if numberOfMatches == 0 {
                return false
            }
        }
    }
    catch let error {
    }
    return true
}

25
задан Anonymous Coward 13 September 2010 в 08:05
поделиться

1 ответ

Если бы не USB, я бы подключил их через ЛВС и имел бы клиент-серверную программу C #, которая эмулирует клавиатуру / мышь (например, через DirectInput).

Для части USB, насколько я могу судить, вам понадобится некоторый аппаратный адаптер. Если вы занимаетесь разработкой аппаратного обеспечения или, по крайней мере, не боитесь паяльника и некоторого микроконтроллера, загляните на http://www.obdev.at/products/vusb/hidkeys.html , где HID Стек для небольшого чипа Atmel доступен бесплатно. Для этого решения вам понадобятся два чипа atmega, которые взаимодействуют через I²C или SPI или что-то подобное.
Я бы также порекомендовал электрическое разделение двух устройств. Вы никогда не знаете, имеют ли они одинаковое электрическое заземление или нет.

1
ответ дан 28 November 2019 в 21:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: