Автор: Peter Reina peterrc87@gmail.com
Основано на: zPortapapeles от Héctor J. Benítez Corredera xebolax@gmail.com
Исходная идея: Peter Vagner peter.v@datagate.sk
Это дополнение основано на дополнении Fake Clipboard Announcement.
С TCA-Portapapeles вы получите объявление о нажатиях клавиш копирования, вставки, отмены, вырезания и выделения всего.
В дополнение была добавлена возможность включать и отключать звуки, усиливающие сообщения, а также история, из которой мы можем копировать в фокус.
В разделе «Жесты ввода…» NVDA, если найти категорию TCA-Буфер обмена, мы сможем добавить комбинацию клавиш, которая по умолчанию не назначена для истории, чтобы отобразить диалог.
Также у нас будет раздел, где можно изменить триггерные клавиши, относящиеся к буферу обмена. Этот раздел следует изменять только в том случае, если в нашем языке или системе для буфера обмена по умолчанию назначены другие клавиши.
В параметрах NVDA в категории «Параметры TCA-Буфер обмена мы сможем включать и отключать с помощью флажков как желание использовать звуки, так и желание иметь активную историю, а также можно будет выбрать, хотим ли мы получать голосовые сообщения.
Если флажок истории активен, у нас будет комбинированный список для выбора времени мониторинга буфера обмена и флажок для включения или отключения звука при добавлении чего-либо в историю.
Если флажок снят, то ни комбинированный список, ни возможность выбора звуков в истории отображаться не будут.
Следует предупредить, что если мы начинаем получать ошибки буфера обмена, желательно увеличить время мониторинга буфера обмена.
Для этого диалога нам нужно будет назначить комбинацию клавиш в жестах ввода, по умолчанию она не назначена.
Диалог откроется только тогда, когда у него есть сохраненная запись; пока нет записей, мы не сможем его открыть.
Обо всем нам будет сообщено информационными сообщениями, а также если диалог уже открыт.
После открытия диалог состоит из списка имеющихся записей и 4 кнопок, а именно:
Удалить или Alt+B: Если мы нажмем эту кнопку, она удалит запись, на которой в списке находится фокус.
Удалить всё или Alt+T: Удаляет все записи из истории.
Обновить или Alt+R: Обновит историю новыми добавленными записями, это полезно, если мы добавляем в историю, пока диалог открыт.
Закрыть или Alt+C, Escape или Alt+F4: Закроет диалог истории.
Когда мы находимся в списке, если нажмем ENTER, запись, на которой находится фокус, скопируется в приложение, находящееся за диалогом истории.
Например, если у нас открыт Блокнот и мы откроем историю и нажмем ENTER на первой записи, то выбранный элемент скопируется в Блокнот.
TCA-Portapapeles не совместим с другими установленными дополнениями, которые делают то же самое, например Fake Clipboard Announcement или Clipspeak. Могут быть и другие, и в этом случае вам придется отключить их, если вы хотите использовать TCA-Portapapeles.
Следует отметить, что записи в истории будут удаляться при перезапуске NVDA.
История буфера обмена Windows может содержать дублирующиеся записи, если мы используем историю TCA-Portapapeles. Нам придется выбрать, какую из них мы хотим использовать.
Для использования этой функции нам нужно будет назначить жест в Менеджере жестов ввода NVDA в категории TCA-Portapapeles и «Статистика выделенного текста».
Когда у нас есть выделенный текст, если мы нажмем назначенную комбинацию, он сообщит нам:
Количество абзацев.
Добавлена возможность копирования частей выделенного текста.
Чтобы использовать эту функцию, нам нужно будет добавить жест в менеджере ввода.
Нам нужно перейти в категорию TCA-Portapapeles и добавить желаемый жест к опции «Запустить диалог для копирования в буфер обмена части выделенного текста».
Итак, когда у нас есть выделенный текст и мы запустим эту опцию, откроется окно со списком, содержащим все слова выделенного текста.
Этот список содержит флажки, поэтому нам нужно будет выбрать те слова, которые мы хотим скопировать в буфер обмена.
Текст, который получает этот диалог, очищен от знаков препинания, поэтому следует быть осторожным, если какое-либо слово было с пунктуацией. Например, это нужно учитывать, если мы выделяем текст программы и там есть что-то вроде:
if event.GetUnicodeKey()
event.GetUnicodeKey() будет отображаться в списке так:
eventGetUnicodeKey, с удаленными точкой и скобками.
Эта опция в первую очередь ориентирована на простой текст, но если потребуется, я могу добавить опцию, отображающую текст со знаками препинания.
Диалог не может быть открыт, если у нас уже открыт диалог истории, и наоборот.
Текст, который копируется в буфер обмена, упорядочен в соответствии с исходным выделением, независимо от того, в каком порядке мы выбрали элементы в диалоге.
Например, фраза:
«Привет, как дела, у собаки есть еда»
Если мы хотим выбрать «Привет», «собаки» и «еда», неважно, что мы выберем первым; если мы отметим все три, они скопируются в буфер обмена независимо от порядка выбора, и в буфер обмена будет скопировано следующее:
«Привет собаки еда»
Для вызова этого диалога необходимо выделение как минимум двух слов.
Оказавшись в диалоге, необходимо выбрать хотя бы одно слово для копирования в буфер обмена.
Для активации этого режима нам нужно будет назначить жест в менеджере жестов ввода.
Этот режим будет полезен для тех игр, которые копируют в буфер обмена и нуждаются в переводе.
В параметрах дополнения у нас будет возможность увеличить частоту обновления буфера обмена и возможность выбрать целевой язык перевода.
Исходный язык в данном случае игры будет определяться автоматически, а скопированное в буфер обмена будет переведено на выбранный нами язык.
Пока игровой режим активен, все команды остальной части дополнения отключены, включая историю буфера обмена.
Теперь, когда мы нажимаем копировать, если дополнение не обнаруживает текст, оно сообщит нам об этом сообщением.
В жестах ввода мы сможем настроить комбинацию для быстрого включения и отключения функций, связанных с буфером обмена.
Когда мы его отключим, буфер обмена и сообщения будут стандартными для Windows, а также сообщениями, предопределенными NVDA для буфера обмена.
Это не повлияет на историю: если она активна, она останется активной.
Решена проблема в раскладках клавиатуры, использующих кириллические символы.
Теперь буфер обмена будет управляться напрямую с помощью системных функций, избегая использования функций NVDA и wxPython.
Если у нас включена опция «Включить или отключить историю буфера обмена» в параметрах дополнения, теперь у нас будет эта новая опция.
С помощью этой опции скопированное в историю или, если оно уже есть в истории, последнее скопированное в буфер обмена будет прочитано NVDA.
Будет упоминаться только последнее скопированное и только один раз, чтобы не перегружать, пока не будет скопирована другая строка, предыдущая повторяться не будет.
Теперь то, что у нас было в буфере обмена при запуске NVDA, больше не будет копироваться; теперь буфер обмена будет начинаться с чистого состояния.
Это не влияет на историю буфера обмена Windows.
* Предупреждение: это следует учитывать, так как можно удалить что-то важное, что было в буфере обмена. *
Теперь мы сможем выбирать время мониторинга, а также хотим ли мы звук при копировании чего-либо в историю.
В разрешенных приложениях будут пропускаться сообщения, соответствующие клавишам буфера обмена.