Пара задач для изменения клав. раскладки

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

Пара задач для изменения клав. раскладки

Postby Dimsok » Sat, 28 May 2016, 17:08

Только начал пользоваться nnCron, поискал среди готовых решений, но не нашёл ничего похожего. По умолчанию стоит англ. раскладка. Можно сделать так, чтобы при запуске ms word раскладка автоматические переключалась на русский? Но только в том случае, если по умолчанию был англ, чтобы в случае необходимости при ручном перключении на англ, она тут же не менялась на русский.

И ещё запрос. У меня 10 клавиатурных раскладок, переключаю их shift-alt-0-9. Встретился мне тут скрипт "Task_CHG-LNG", но он что-то не работает, только osd появляется. Надо, чтобы подобно тому, как в этом скрипте, по двойному нажатию ctrl циклически менялись англ и русская раскладка, которыми я пользуюсь чаще других. Менялась, минуя другие. С osd, как в неработающем "Task_CHG-LNG". Кто поможет с решением этих 2 задач?
Dimsok
 
Posts: 28
Joined: Sat, 28 May 2016, 16:37

Re: Пара задач для изменения клав. раскладки

Postby dothen » Sun, 29 May 2016, 14:53

Переключение языка En-Ru по двойному правому Ctrl
Переключает на русский с любого другого, а на английский только с русского.
Надо подставить в SEND-KEYS: свои хоткеи вместо Alt+Shift+1 и Alt+Shift+2
Code: Select all
<%

: CHG-LNG-EN-RU
    550 380 OSD-POS
    RUS?
    IF
      SEND-KEYS: "@(+2)" \ Alt+Shift+2
      S" Arial" 50 0xFF0000 OSD-FONT
      S" ENGLISH"
    ELSE
      SEND-KEYS: "@(+1)" \ Alt+Shift+1
      S" Arial" 50 0x0000FF OSD-FONT
      S" RUSSIAN"
    THEN
    OSD
    100 PAUSE
    OSD-CLEAR
;

: PRESS-PRESS ( vk -- flag ) { vk }
    0
    10 0 DO
      50 PAUSE vk KEY-PRESSED?
      IF
        vk WAIT-KUP
        1- LEAVE
      THEN
    LOOP
;

%>


#( CLASSIC-TASK-#-chg-lng-en-ru
SingleInstance NoLog \ NoActive
WatchHotKey: "^"
Action:
     VK_RCONTROL PRESS-PRESS
    IF
      20 1000 BEEP
      CHG-LNG-EN-RU
    THEN
)#
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Пара задач для изменения клав. раскладки

Postby Dimsok » Sun, 29 May 2016, 16:04

dothen, спасибо.
Мне пришлось поменять @(+1) и @(+2) местами, чтобы стало переключ. с англ на рус и наоборот.
Можете доработать? Чтобы при переключении, динамик не пикал, и чтобы с любого друго языка (кроме рус. и англ.) выбирался английский язык по двойному левому ctrl.
Dimsok
 
Posts: 28
Joined: Sat, 28 May 2016, 16:37

Re: Пара задач для изменения клав. раскладки

Postby dothen » Sun, 29 May 2016, 18:00

Так должно работать.
Code: Select all
<%

\ Переключить на русский с любого другого,
\ а на английский только с русского.
: CHG-LNG-EN-RU \
    550 380 OSD-POS
    RUS?
    IF
      SEND-KEYS: "@(+1)" \ Alt+Shift+1
      S" Arial" 50 0xFF0000 OSD-FONT
      S" ENGLISH"
    ELSE
      SEND-KEYS: "@(+2)" \ Alt+Shift+2
      S" Arial" 50 0x0000FF OSD-FONT
      S" RUSSIAN"
    THEN
    OSD
    100 PAUSE
    OSD-CLEAR
;

\ Переключить на английский с любого другого кроме русского.
: CHG-LNG-EN
    ENU? RUS? OR
    IFNOT
      SEND-KEYS: "@(+1)" \ Alt+Shift+1
      550 380 OSD-POS
      S" Arial" 50 0xFF0000 OSD-FONT
      S" ENGLISH" OSD
      100 PAUSE
      OSD-CLEAR
    THEN
;

: PRESS-PRESS ( vk -- flag ) { vk }
    0
    10 0 DO
      50 PAUSE vk KEY-PRESSED?
      IF
        vk WAIT-KUP
        1- LEAVE
      THEN
    LOOP
;

%>


#( CLASSIC-TASK-#-chg-lng-en-ru
SingleInstance NoLog \ NoActive
WatchHotKey: "^"
Action:
      VK_RCONTROL PRESS-PRESS \ Правый Ctrl
      IF CHG-LNG-EN-RU THEN
)#

#( CLASSIC-TASK-#-chg-lng-en
SingleInstance NoLog \ NoActive
WatchHotKey: "^"
Action:
      VK_LCONTROL PRESS-PRESS \ Левый Ctrl
      IF CHG-LNG-EN THEN
)#
dothen
 
Posts: 184
Joined: Mon, 16 Mar 2015, 04:58

Re: Пара задач для изменения клав. раскладки

Postby Dimsok » Sun, 29 May 2016, 19:51

dothen, спасибо, будет мне весьма полезно.

Касательно другой задачи. Возможно автопереключение раскладки для заданных окон в фокусе? Но только чтоб язык не менялся обратно на русский в случае, если раскладка была вручную изменена при активности этого окна.
Dimsok
 
Posts: 28
Joined: Sat, 28 May 2016, 16:37


Return to nnCron forum (Russian)

Who is online

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