Как вводить специальные символы без цифровой клавиатуры?

17639
kinokijuf

Как мне вводить специальные символы ( Alt+0 ???) в Windows на ноутбуке без какой- либо цифровой клавиатуры (даже не той, к которой обращается FN)?

Прямо сейчас я использую NT 4 charmap (XP one sucks), но кто-нибудь знает более эффективный способ?

17
Итак, вы используете Windows XP? iglvzx 12 лет назад 0
@kinokijuf Для меня ты выбрал хороший путь. найти и 1 клик, в отличие от ввода 4 вещей. Что еще может быть? Переопределение или создание шорт для некоторых специальных символов, которые вы используете. используя международную клавиатуру или какую-то сверхспециальную OnScreenKeyboard, которая лучше, чем charmap. Наличие большого буфера обмена целых «слов» для вставки без перепечатывания. Как вы думаете, что будет лучше? Как насчет клавиш, которые работают как текстовые сообщения на телефоне? удерживать их, и они переходят на акцентированную версию их? Psycogeek 12 лет назад 0
@Psycogeek: Но я больше клавишник. kinokijuf 12 лет назад 0
http://www.ergonis.com/products/popcharx/features.html#Anchor-SearchField ?? есть одна идея программистов проще. Psycogeek 12 лет назад 0
@Psycogeek: что заставило вас думать, что я использую OSX? kinokijuf 12 лет назад 0
К счастью, мне не нужно было думать, программа вышла в 2 вариантах. Я предполагал, что вы говорите о Windows с NT4 и XP? Итак, сайт истощает Mac по всему этому :-) Но что заставило вас думать, что это не для Windows тоже :-) Psycogeek 12 лет назад 0

2 ответа на вопрос

10
Dennis

Это может быть достигнуто с помощью скрипта AutoHotkey .

Сценарий

<!1::Numpad1 <!2::Numpad2 <!3::Numpad3 <!4::Numpad4 <!5::Numpad5 <!6::Numpad6 <!7::Numpad7 <!8::Numpad8 <!9::Numpad9 <!0::Numpad0 <!+::NumpadAdd 

Как это устроено

Линия <!1::Numpad1имитирует нажатие клавиши 1на цифровой клавиатуре, когда нажата комбинация клавиш слева ::.

Здесь <!представляет левый Altключ и 1ключ 1.

В результате нажатия вы можете использовать «обычные», как если бы они были на цифровой клавиатуре.

Замечания:

Как пользоваться

  1. Загрузите и установите последнюю версию AutoHotkey.

  2. Сохраните приведенный выше скрипт как numpad.ahk, используя ваш любимый текстовый редактор.

  3. Дважды щелкните файл, чтобы запустить скрипт.

  4. Если хотите, скопируйте скрипт (или ссылку на него) в Startupпапку.

Милая! Я попытался заменить ` !`, Чтобы использовать AltGr вместо AltLeft, но это не сработает. Есть идеи почему? CAFxX 12 лет назад 0
@CAFxX: Это работает, если сопоставить `1` с` Num1`. Проблема в том, что вы все еще нажимаете клавишу `AltGr`, а не только` Alt` (что также не будет работать с настоящей цифровой клавиатурой). Там может быть способ обойти это, но я не вижу этого. Вы можете опубликовать новый вопрос. Dennis 12 лет назад 0
1
kinokijuf

Я попробовал Unicode IME, и он работает. Теперь я должен запомнить все кодовые точки.


Unicode IME для Windows XP

Вам нужно открыть соответствующую часть панели управления, в WIn-7 это что-то вроде

  • Открытая панель управления
  • выберите Region and Language
  • Выбрать Keyboards and Languages,
  • щелчок Change Keyboards
  • Выбрать Keyboard

Связанная страница (от 2005 года) описывает (предположительно для XP)

  • открыто Add Input Language
  • Выберите Input Language=Chinese (Taiwan)
  • Выберите Keyboard Layout/IME=Chinese (Traditional) - Unicode

(Детали явно различаются в зависимости от версии Windows)

Связанная страница продолжается

Прост в использовании - просто переключитесь на него и начните вводить шестнадцатеричные числа в любом приложении ....
и тогда, когда вы наберете полную кодовую точку Unicode, он автоматически зафиксирует символ!

Unicode IME для Windows Vista и Windows 7

Описанный выше официальный Microsoft "Unicode IME" был удален в Vista и отсутствует в Windows 7.

В блоге MSDN есть несколько инструкций по добавлению Unicode IME, но в то время он, похоже, находился в стадии разработки.

Я установил этот Unicode IME под 64-битную Windows-7, и он работает хорошо.

Чтобы установить IME, вы

  • скопировать текстовый файл, определяющий IME в, \Program Files\Windows NT\TableTextServiceа затем
  • откройте командную строку с повышенными привилегиями,
  • cd в вышеуказанный каталог и
  • тип rundll32 TableTextService.dll RegisterProfile TableTextServiceUnicode.txt
  • нажав ОК в диалоговом окне подтверждения.
  • Затем вы можете следовать инструкциям в верхней части этого ответа, чтобы включить этот IME.

Использование Unicode IME

Вы нажимаете Left Alt+, Shiftчтобы переключиться на Unicode IME (или обратно). Форма курсора изменится на подчеркивание, а значок клавиатуры в области системных уведомлений изменится соответственно. Если вы затем введете четыре шестнадцатеричных цифры в Блокнот (или другое приложение?), Будет вставлен символ Unicode для этой кодовой точки Unicode.

Определение IME

Ниже приведены начало и конец определения текстового файла IME. Авторское право / лицензия на оригинал не ясна, но, по-видимому, она предназначена для свободного доступа.

[System] LangId = LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL GuidProfile= Description="Unicode IME" Display Description="Unicode IME"  [Configuration] CandidateList.Phrase.HideWindow=1 CandidateList.Text.HideWindow=1 ReadingWindow.HideWindow=1 CandidateList.dontShowNextKeySequence=1 CandidateList.KeepCandidateListForInvalidKey=1 Composition.ConversionOnlyOneItem=1 Composition.QuitAndErrorOnConversion=1  [PreservedKey] GuidImeMode= KeyDefineImeMode=VK_SHIFT, TF_MOD_ON_KEYUP_SHIFT_ONLY ImeMode=1  DoubleSingleByte=0 Punctuation=0  [LanguageBar] EnableImeMode=0 EnableDoubleSingleByte=0 EnablePunctuation=0  [Profile] KeystrokeFile ="%programFiles%\Windows NT\TableTextService\TableTextServiceUnicode.txt" DictionaryFile="%programFiles%\Windows NT\TableTextService\TableTextServiceUnicode.txt"   [Keystroke.Composition] VK_1, 0 = INPUT // 1 VK_2, 0 = INPUT // 2 VK_3, 0 = INPUT // 3 VK_4, 0 = INPUT // 4 VK_5, 0 = INPUT // 5 VK_6, 0 = INPUT // 6 VK_7, 0 = INPUT // 7 VK_8, 0 = INPUT // 8 VK_9, 0 = INPUT // 9 VK_0, 0 = INPUT // 0 VK_A, 0 = INPUT // A VK_B, 0 = INPUT // B VK_C, 0 = INPUT // C VK_D, 0 = INPUT // D VK_E, 0 = INPUT // E VK_F, 0 = INPUT // F  [Text] "0020" = " " "0021" = "!" "0022" =" "0023" = "#" "0024" = "$" "0025" = "%" "0026" = "&" "0027" = "'" "0028" = "(" "0029" = ")" "002a" = "*" "002b" = "+" "002c" = "," "002d" = "-" "002e" = "." "002f" = "/" "0030" = "0" "0031" = "1" "0032" = "2" "0033" = "3" "0034" = "4"  middle part removed for brevity (and because copyright unclear)  "ffeb" = "→" "ffec" = "↓" "ffed" = "■" "ffee" = "○" "fff9" = "" "fffa" = "" "fffb" = "" "fffc" = "" "fffd" = "�" 
Хотя это может теоретически ответить на вопрос, [было бы предпочтительнее] (http://meta.stackexchange.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. Der Hochstapler 11 лет назад 0
Я обновил ответ kinokijuf для Windows 7 RedGrittyBrick 11 лет назад 0