Смена текущей раскладки клавиатуры

Обсуждение программ nnCron и nnCron LITE

Re: Смена текущей раскладки клавиатуры

Postby Wyz » Tue, 12 Jul 2011, 06:55

Значит по дефолту у тебя английская раскладка :-)
MSDN говорит нам "0 for the current thread" - это выполняющаяся задача nnCron -, а в комментариях на сайте упомянуты функции возвращающие текущее окно и оконный поток ;-)
Wyz
 
Posts: 389
Joined: Tue, 11 Dec 2007, 01:42

Re: Смена текущей раскладки клавиатуры

Postby Malice » Tue, 12 Jul 2011, 15:51

Code: Select all
WINAPI: GetWindowThreadProcessId USER32.DLL
WINAPI: GetKeyboardLayout USER32.DLL
USER-VALUE tmpY
0 GetForegroundWindow GetWindowThreadProcessId TO tmpY
tmpY GetKeyboardLayout TO tmpY

Отлично, выдаёт 4190419h на русской раскладке, 4090409h на американской. Теперь осталось пофиксить проблемку непонятно почему включающегося капслока (почему-то включается не просто после нажатия переназначенной клавиши – а при переходе на следующее окно) – и можно уже наляпать модуль=)
Мне кажется, будет простым решением определять включённый капслок - и выключать его программно. И удобно и полезно;)
Malice
 
Posts: 5
Joined: Sun, 10 Jul 2011, 16:54
Location: Lipetsk

Re: Смена текущей раскладки клавиатуры

Postby Wyz » Tue, 12 Jul 2011, 20:01

Если клава PS/2 - поищи тут "LedOn"
Wyz
 
Posts: 389
Joined: Tue, 11 Dec 2007, 01:42

Re: Смена текущей раскладки клавиатуры

Postby ascerdfg1 » Mon, 20 Aug 2012, 13:45

Code: Select all
#( rnd \ тест
: SEND-STRING { a u -- }
u 0 DO  a I + C@ SEND-SMB  LOOP
;
NoActive
Action:
S" F3" SEND-STRING
MSG: "готово" 
)#
Пишет ошибку в строке
Code: Select all
u 0 DO  a I + C@ SEND-SMB  LOOP
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Смена текущей раскладки клавиатуры

Postby ascerdfg1 » Mon, 20 Aug 2012, 15:46

VoidVolker wrote:Кстати, еще стоит попробовать SendInput - оно работает через юникод, поэтому тоже не зависит от раскладки.
Приведите плиз пример,
Code: Select all
0x4D AKEY
пишет русскую букву.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Смена текущей раскладки клавиатуры

Postby ascerdfg1 » Mon, 20 Aug 2012, 15:53

ascerdfg1 wrote:
Code: Select all
#( rnd \ тест
: SEND-STRING { a u -- }
u 0 DO  a I + C@ SEND-SMB  LOOP
;
NoActive
Action:
S" F3" SEND-STRING
MSG: "готово" 
)#
Пишет ошибку в строке
Code: Select all
u 0 DO  a I + C@ SEND-SMB  LOOP

Заработало!
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Смена текущей раскладки клавиатуры

Postby VoidVolker » Mon, 20 Aug 2012, 17:27

ascerdfg1 wrote:
VoidVolker wrote:Кстати, еще стоит попробовать SendInput - оно работает через юникод, поэтому тоже не зависит от раскладки.
Приведите плиз пример

Code: Select all
" English Русский" AKEYS

ascerdfg1 wrote:
Code: Select all
0x4D AKEY
пишет русскую букву.

Нет, это: "Однократно нажать клавишу с кодом 0x4D".
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Смена текущей раскладки клавиатуры

Postby ascerdfg1 » Mon, 20 Aug 2012, 18:38

Пишет русскую букву.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Смена текущей раскладки клавиатуры

Postby VoidVolker » Mon, 20 Aug 2012, 20:02

И что не так?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Смена текущей раскладки клавиатуры

Postby ascerdfg1 » Tue, 21 Aug 2012, 09:59

Code: Select all
" English Русский" AKEYS
выдаёт ошибку
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Смена текущей раскладки клавиатуры

Postby VoidVolker » Tue, 21 Aug 2012, 12:24

Видимо плагин автостроки не подключен.
Code: Select all
S" English Русский" AKEYS
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Смена текущей раскладки клавиатуры

Postby ascerdfg1 » Tue, 21 Aug 2012, 13:08

сендинпут? подключён.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Смена текущей раскладки клавиатуры

Postby VoidVolker » Tue, 21 Aug 2012, 21:00

ascerdfg1 wrote:сендинпут? подключён.

Нет, именно автостроки: одинарная кавычка оттуда.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Смена текущей раскладки клавиатуры

Postby ascerdfg1 » Tue, 21 Aug 2012, 21:57

Спасибо! Заработало!
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Смена текущей раскладки клавиатуры

Postby Uzverasd » Sat, 15 Sep 2012, 12:05

Подскажите пожалуйста почему может не работать следующий код, представленный уважаемым VoidVolker?
Code: Select all
#( Раскладка
WatchHotKey: "{0x14}"
SingleInstance
Action:
VK_SHIFT KEY-PRESSED?
  IF
    0x14 WAIT-KUP
    VK_SHIFT WAIT-KUP
    CapsLock
  ELSE
    0x14 WAIT-KUP
    VK_CAPITAL KEY-TOGGLED?
    IF  CapsLock  THEN
    Alt( Shift )Alt
    \ RUS?
    \ IF
      \ Caps LedOff
    \ ELSE
      \ Caps LedOn
    \ THEN
  THEN
)#

ругается на строку "0x14 WAIT-KUP"
p.s. я не программист, поэтому очень рассчитываю на вашу помощь.
Uzverasd
 
Posts: 2
Joined: Sat, 15 Sep 2012, 09:02

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot] and 5 guests

cron