Ввод специальных символов

Реализованные пожелания и закрытые темы помещаются в этот раздел.
Закрыто
Filyus
Сообщения: 4
Зарегистрирован: 07 июн 2009, 13:53

Ввод специальных символов

Сообщение Filyus » 17 июн 2009, 16:39

Хотелось бы чтобы был ввод специальных символов. Хотя сам я и написал программу, которая запускается через MKey, но во-первых, успевает задуматься курсор, а во-вторых, символ вводится не с разу, а с некоторой задержкой, а хотелось бы вообще без них.

На всякий случай привожу свой код на VB 6.0:

Код: Выделить всё

'©2009 Filyus (KIRK)
'Пример испольования:
'> PressChar.exe "0169 0160 0169"

Private Const VK_MENU = &H12
Private Const KEYEVENTF_KEYUP = &H2
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Sub Main()
  Dim a As Byte, b As Byte
  S = Replace(Command$, """", "")
  SS = Split(S, " ")
  For k = 0 To UBound(SS)
    n = Len(SS(k))
    If n > 0 Then
      keybd_event VK_MENU, 0, 0, 0
      For i = 1 To n
        c = CByte(Mid(SS(k), i, 1))
        a = c + &H60
        Select Case c
          Case 0: b = &H52
          Case 1: b = &H4F
          Case 2: b = &H50
          Case 3: b = &H51
          Case 4: b = &H4B
          Case 5: b = &H4C
          Case 6: b = &H4D
          Case 7: b = &H47
          Case 8: b = &H48
          Case 9: b = &H49
        End Select
        keybd_event a, b, 0, 0
        keybd_event a, b, KEYEVENTF_KEYUP, 0
      Next i
      keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
    End If
  Next k
End Sub

SerioSoft
Администратор
Сообщения: 412
Зарегистрирован: 15 май 2009, 08:27
Откуда: Украина, Киев
Контактная информация:

Re: Ввод специальных символов

Сообщение SerioSoft » 25 июн 2009, 08:42

Напишите на примере, как бы Вы хотели видеть реализацию этой возможности в Мкее.

Filyus
Сообщения: 4
Зарегистрирован: 07 июн 2009, 13:53

Re: Ввод специальных символов

Сообщение Filyus » 02 июл 2009, 15:10

Чтобыя заходил в Клавиатура->Клавиши набирал код символа (например, для знака © это 0169) или выбирал сам символ из таблицы, а потом в любой другой программе нажимал комбинацию клавиш, на которую назначивал символ, после чего эммулировался ввод этого символа посредством нажатия кнопок, к примеру, [Alt]+[0][1][6][9].

taimag
Сообщения: 2
Зарегистрирован: 06 июл 2009, 20:44

Re: Ввод специальных символов

Сообщение taimag » 06 июл 2009, 20:55

Кстати да, поддерживаю. Такая штука очень даже нужна. Ввел код символа а на следующий раз уже не нужно печатать. Хотя есть одна проблема, клавиш неиспользуемых на клавиатуре очень мало если нужно много символов :(

SerioSoft
Администратор
Сообщения: 412
Зарегистрирован: 15 май 2009, 08:27
Откуда: Украина, Киев
Контактная информация:

Re: Ввод специальных символов

Сообщение SerioSoft » 07 июл 2009, 10:14

Хорошо, подумаю над реализацией данной функции в будущих версиях.

MAKARONE
Сообщения: 8
Зарегистрирован: 22 июн 2009, 22:15

Re: Ввод специальных символов

Сообщение MAKARONE » 10 июл 2009, 10:18

Реализация предложения может быть упрощена, если попутно сделать возможность записи нескольких макро.
Идея не нова -- однотипные действия запускать не одной горячей клавишей, а в комлексе с последующим нажатием "дополнительной кнопки".

Как это выглядит (должно выглядеть) на практике:
1. У меня есть несколько папок (П1, П2, П3, П4, ...) и спецсимволов, например: "©", "®" и др., к которым мне нужен быстрый доступ.
2. Я записываю макро для перехода в каждую папку и для ввода последовательности [Alt 0169], [Alt 0174] и т.п.
3. Запуск макро для открытия папок (фолдеров) вешаю на <Alt+F>+<1>, <Alt+F>+<2>, <Alt+F>+<3> и т.д., а для спецсимволов <Alt+K>+<С>, <Alt+K>+<R> и т.п.
Т.е. сначала я нажимаю комбинацию для запуска действия, а потом, с небольшим интервалом, кнопку, указывающую какой именно вариант действия мне нужен сейчас.

Таким образом, мы "не расходуем свободные клавиши", назначая однотипные действия на одну, но с "модификатором".

Yarunya
Сообщения: 1
Зарегистрирован: 15 июл 2009, 10:33

Re: Ввод специальных символов

Сообщение Yarunya » 15 июл 2009, 10:39

Всем привет! Я здесь впервой, но и у меня есть небольшое предложение: для эмуляции ввода символов без пауз лучше всего использовать программу xStarter. В этой программе уже реализована не одна такая функция, поэтому составить там небольшой скрипт не составит Вам больших усилий.
xStarter - бесплатная программа для автоматизации (для русских! :) )
Думаю, что она больше подойдет, но если такое появиться и в МКее, то это будет большой плюс!

Ivan
Сообщения: 11
Зарегистрирован: 06 июл 2009, 09:50
Откуда: Россия, Московская область

Re: Ввод специальных символов

Сообщение Ivan » 19 июл 2009, 10:59

Filyus писал(а):Чтобыя заходил в Клавиатура->Клавиши набирал код символа (например, для знака © это 0169) или выбирал сам символ из таблицы, а потом в любой другой программе нажимал комбинацию клавиш, на которую назначивал символ, после чего эммулировался ввод этого символа посредством нажатия кнопок, к примеру, [Alt]+[0][1][6][9].
А в чем проблема?
1.gif
1.gif (2.21 КБ) 5841 просмотр

SerioSoft
Администратор
Сообщения: 412
Зарегистрирован: 15 май 2009, 08:27
Откуда: Украина, Киев
Контактная информация:

Re: Ввод специальных символов

Сообщение SerioSoft » 19 июл 2009, 11:58

Ivan писал(а):
Filyus писал(а):Чтобыя заходил в Клавиатура->Клавиши набирал код символа (например, для знака © это 0169) или выбирал сам символ из таблицы, а потом в любой другой программе нажимал комбинацию клавиш, на которую назначивал символ, после чего эммулировался ввод этого символа посредством нажатия кнопок, к примеру, [Alt]+[0][1][6][9].
А в чем проблема?
1.gif
Ivan, спасибо за оригинальное решение :) Я даже сам как-то не додумался, что так можно решить эту задачу по вводу спец символов

Закрыто