1

Тема: AHK: передать нажатие Ctrl-Home и Ctrl-Shift-Home обходным путём

Приветствую участников форума и прошу помочь решить проблему с клавиатурой ноута Lenovo M30-70.

Суть: по умолчанию у всех Lenovo ряд кнопок F1-F12 работает через Fn, но их можно вернуть к нормальному состоянию через BIOS. Но у этого ноута такое извращение касается и ряда клавиш Home, PgUp, PgDn, End. И самое поганое, что с «противоходом», т.е. либо у тебя нормальная F1, либо Home.
 
Но это еще полбеды. Если у ноута переключить BIOS в режим с нормальным функционированием F1-F12, то перестаёт работать сочетание клавиш Ctrl-Home и Ctrl-Shift-Home! Вот такая засада: или жить с кривыми F1-F12, но нормальными Home-End, или нормальные F1-F12, но кривые Home-End и с неработающим Ctrl-Home. 

Думал проблемы в Win8.1, загрузился с LiveCD в WinXP и Win7 – то же самое. Похоже проблема в BIOS. В поддержку Lenovo отписался, но ничего конкретного пока от них не дождался. Ноут в целом устраивает, поэтому хочу попробовать решить проблему через AutoHotKey.
 
Может всё-таки есть варианты полноценного исправления нажатия Ctrl-Home и Ctrl-Shift-Home? Через какие-нибудь условия например, или черёз жесткий переход к первой строке (типа GoTo)? В таких сложностях я, увы не силён.
 
Прикладываю свой скрипт и отсканированные коды всех вариантов нажатия клавиш. Судя по сканам, с Home какой-то бред: то она отзывается как Home, то как CtrlBreak, а если она нажата вместе с Ctrl и Fn - то вообще никак.

; key codes:  
 ; ^ Ctrl, + Shift, ! Alt 
 ; 45 Pause, 146 CtrlBreak, 46 ScrollLock, 152 Insert, 147 Home, 14F End, 149 PgUp, 151 PgDn 
  
 SC045 :: Send {Home} 
 ^SC045 :: Send ^{Home} 
 +SC045 :: Send +{Home} 
 ^+SC045 :: Send ^+{Home} 
  
 SC146 :: Send {End} 
 ^SC146 :: Send ^{End} 
 +SC146 :: Send +{End} 
 ^+SC146 :: Send ^+{End} 
  
 SC046 :: Send {PgUp} 
 ^SC046 :: Send ^{PgUp} 
 +SC046 :: Send +{PgUp} 
 ^+SC046 :: Send ^+{PgUp} 
  
 SC152 :: Send {PgDn} 
 ^SC152 :: Send ^{PgDn} 
 +SC152 :: Send +{PgDn} 
 ^+SC152 :: Send ^+{PgDn} 
  
 ; проблема: Ctrl-Home работает также как Ctrl-End; Ctrl-Shift-Home как Ctrl-Shift-End  
Последовательное нажатие клавиш Home, End, PgUp, PgDn 
 ------------------------------------------------------------------------------------------------------------- 
 13  045         d    5.08    Pause               
 13  045         u    0.01    Pause               
 03  146         d    1.00    CtrlBreak           
 03  146         u    0.00    CtrlBreak           
 91  046         d    0.81    ScrollLock          
 91  046         u    0.22    ScrollLock          
 2D  152         d    0.58    Insert              
 2D  152         u    0.22    Insert              
  
 Последовательное нажатие клавиш Home, End, PgUp, PgDn  + Fn 
 ------------------------------------------------------------------------------------------------------------- 
 24  147         d    8.69    Home                
 24  147         u    0.14    Home                
 23  14F         d    0.48    End                 
 23  14F         u    0.16    End                 
 21  149         d    0.45    PgUp                
 21  149         u    0.16    PgUp                
 22  151         d    0.51    PgDn                
 22  151         u    0.14    PgDn                
  
 Последовательное нажатие клавиш Home, End, PgUp, PgDn  + Ctrl 
 ------------------------------------------------------------------------------------------------------------- 
 A2  01D         d    4.34    LControl            
 03  146         d    0.20    CtrlBreak           
 03  146         u    0.02    CtrlBreak           
 03  146         d    0.28    CtrlBreak           
 03  146         u    0.00    CtrlBreak           
 03  046         d    0.31    CtrlBreak           
 03  046         u    0.09    CtrlBreak           
 2D  152         d    0.22    Insert              
 2D  152         u    0.08    Insert              
 A2  01D         u    0.06    LControl     
  
 Последовательное нажатие клавиш Home, End, PgUp, PgDn  + Ctrl Fn 
 ------------------------------------------------------------------------------------------------------------- 
 A2  01D         d    8.16    LControl            
 23  14F         d    0.73    End                 
 23  14F         u    0.11    End                 
 21  149         d    0.31    PgUp                
 21  149         u    0.11    PgUp                
 22  151         d    0.31    PgDn                
 22  151         u    0.09    PgDn                
 A2  01D         u    0.14    LControl            
  
 Последовательное нажатие клавиш Home, End, PgUp, PgDn  + Shift 
 ------------------------------------------------------------------------------------------------------------- 
 A0  02A         d    12.53    LShift              
 13  045         d    0.00    Pause               
 13  045         u    0.00    Pause               
 03  146         d    0.31    CtrlBreak           
 03  146         u    0.02    CtrlBreak           
 91  046         d    0.31    ScrollLock          
 91  046         u    0.09    ScrollLock          
 2D  152         d    0.22    Insert              
 2D  152         u    0.08    Insert              
 A0  02A         u    0.09    LShift              
  
 Последовательное нажатие клавиш Home, End, PgUp, PgDn  + Shift Fn 
 ------------------------------------------------------------------------------------------------------------- 
 A0  02A         d    8.33    LShift              
 24  147         d    0.20    Home                
 24  147         u    0.09    Home                
 23  14F         d    0.22    End                 
 23  14F         u    0.08    End                 
 21  149         d    0.25    PgUp                
 21  149         u    0.08    PgUp                
 22  151         d    0.25    PgDn                
 22  151         u    0.08    PgDn                
 A0  02A         u    0.14    LShift   
  
 Последовательное нажатие клавиш Home, End, PgUp, PgDn  + Shift Ctrl 
 ------------------------------------------------------------------------------------------------------------- 
 A2  01D         d    5.41    LControl            
 A0  02A         d    0.01    LShift              
 03  146         d    0.23    CtrlBreak           
 03  146         u    0.01    CtrlBreak           
 03  146         d    0.34    CtrlBreak           
 03  146         u    0.00    CtrlBreak           
 91  046         d    0.34    ScrollLock          
 91  046         u    0.09    ScrollLock          
 2D  152         d    0.23    Insert              
 2D  152         u    0.08    Insert              
 A0  02A         u    0.06    LShift              
 A2  01D         u    0.01    LControl     
  
 Последовательное нажатие клавиш Home, End, PgUp, PgDn  + Shift Ctrl Fn 
 ------------------------------------------------------------------------------------------------------------- 
 A2  01D         d    4.19    LControl            
 A0  02A         d    0.03    LShift              
 23  14F         d    0.47    End                 
 23  14F         u    0.08    End                 
 21  149         d    0.26    PgUp                
 21  149         u    0.09    PgUp                
 22  151         d    0.23    PgDn                
 22  151         u    0.08    PgDn                
 A0  02A         u    0.08    LShift              
 A2  01D         u    0.00    LControl 

2

Re: AHK: передать нажатие Ctrl-Home и Ctrl-Shift-Home обходным путём

http://content2.onliner.by/catalog/device/large/406878e530b7a8dbdceeab3a43827edf.jpg

3

Re: AHK: передать нажатие Ctrl-Home и Ctrl-Shift-Home обходным путём

Да, тяжёлый случай. Либо копать в сторону BIOS, либо выбирать меньшее из зол (я бы, например, пожертвовал клавишами F1 ... F12).

4 (изменено: ixet08, 2015-07-20 13:21:27)

Re: AHK: передать нажатие Ctrl-Home и Ctrl-Shift-Home обходным путём

Картинка выше - английская клава, моя такая:
http://www.ixbt.com/portopc/lenovo/leno … oard-2.jpg

Пока использую вариант замены Ctrl-Home на Alt-Home.

5 (изменено: shiz, 2015-07-20 15:32:04)

Re: AHK: передать нажатие Ctrl-Home и Ctrl-Shift-Home обходным путём

В режиме работы через Fn: F1-F12 отправляют какие-нибудь скан-коды, если их жать без Fn?

Забыл пароль и потерял e-mail.

6

Re: AHK: передать нажатие Ctrl-Home и Ctrl-Shift-Home обходным путём

все варианты отсканил

без Fn
-----------------------------------------------
70  03B         d    1.66    F1  
70  03B         u    0.22    F1  
71  03C         d    0.42    F2  
71  03C         u    0.23    F2  
72  03D         d    0.39    F3  
72  03D         u    0.23    F3  
73  03E         d    0.38    F4  
73  03E         u    0.22    F4  
74  03F         d    0.36    F5  
74  03F         u    0.22    F5  
75  040         d    0.34    F6  
75  040         u    0.23    F6  
76  041         d    0.34    F7  
76  041         u    0.22    F7  
77  042         d    0.34    F8  
77  042         u    0.23    F8  
78  043         d    0.36    F9  
78  043         u    0.19    F9  
79  044         d    0.41    F10
79  044         u    0.19    F10
7A  057         d    0.39    F11
7A  057         u    0.20    F11
7B  058         d    0.45    F12
7B  058         u    0.16    F12


c Fn
-----------------------------------------------
F1
AD  120         d    6.50    Volume_Mute
AD  120         u    0.16    Volume_Mute

F2
AE  12E         d    0.50    Volume_Down
AE  12E         u    0.02    Volume_Down

F3
AF  130         d    0.56    Volume_Up 
AF  130         u    0.00    Volume_Up 

F4
A4  038         d    0.67    LAlt 
73  03E         d    0.00    F4 
73  03E         u    0.00    F4 
A4  038         u    0.00    LAlt

F5
74  03F         d    3.08    F5 
74  03F         u    0.19    F5  

F6
FF  173         d    2.27    not found     
FF  173         u    0.01    not found  

F7 – по идее должен включиться режим «в самолёте», но он почему-то не включается; в AHK никакого отзыва нет, строка с кодами не появляется

F8
A4  038         d    2.55    LAlt           
A2  01D         d    0.00    LControl   
09  00F         d    0.00    Tab           
A4  038         u    0.00    LAlt           
A2  01D         u    0.00    LControl   
09  00F         u    0.00    Tab   

F9 – гаснет экран, но в AHK строка с кодами не появляется

F10
5B  15B         d    3.45    LWin
50  019         d    0.00    p       
50  019         u    0.17    p       
5B  15B         u    0.28    LWin

F11 – уменьшается яркость экрана, но в AHK строка с кодами не появляется

F12 – увеличивается яркость экрана, но в AHK строка с кодами не появляется

7

Re: AHK: передать нажатие Ctrl-Home и Ctrl-Shift-Home обходным путём

ixet08 пишет:

все варианты отсканил

Похоже, в этом направлении копать бесполезно.

Забыл пароль и потерял e-mail.

8

Re: AHK: передать нажатие Ctrl-Home и Ctrl-Shift-Home обходным путём

спасибо за отклик
всё понятно