Keresés

Új hozzászólás Aktív témák

  • zsoltip

    őstag

    válasz Dr. Akula #116401 üzenetére

    Olvass vissza én mennyit küzdöttem ezzel, de meglett a megoldás. HP és Dell vonalról jöttem, és szintén furcsállom, hogy nem alap. De hát ez mint kiderült feature, és nem pedig bug. :)
    Nálam ez vált ve: lenovo-backlight-control

    Relepíted:
    .NET Desktop Runtime 5
    AutoHotkey
    Az AutoHotkey script nálam Backlight néven elmentve, és benne a kód, amit használok végül, némileg átírva, és Lenovo official fórumot is felhasználva alábbi:

    ; To deactivate "Lenovo OnScreenDisplay Service" (status display for backlight keyboard, microphone, Fn lock) prevent execution of "C:\Program Files\Lenovo\HOTKEY\tposd.exe"
    ; by (auto)starting (WIN + R: shell:startup) a short cut (minimized) to the following "killtposd.bat":
    ; @ECHO OFF
    ; TASKKILL /IM tposd.exe
    global START_WITH_BACKLIGHT := 0 ; set to 1 if you want backlight on startup, 0 otherwise
    global BACKLIGHT_LEVEL := 1 ; set to 0 for no backlight, 1 for the first (dim level), 2 for the brightest level
    global IDLE_DURATION := 15000 ; after how many milliseconds of inactivity the light should turn off
    global POLLING_PERIOD := 250 ; how often (ms) should the program check for inactivity; lower turns backlight on faster but drains cpu
    ; TODO: make the backlight wake up after screen off.
    ;#InstallKeybdHook
    ;#InstallMouseHook
    ;SetTimer, Check, POLLING_PERIOD
    ;return
    global wasOn := 0
    setBacklight(START_WITH_BACKLIGHT ? BACKLIGHT_LEVEL : 0) ; if "START_WITH_BACKLIGHT" is "true" than (?) setBacklight = BACKLIGHT_LEVEL else setBacklight = 0
    ; https://autohotkey.com/board/topic/94002-send-escape-key-after-idle-time/
    #SingleInstance Force
    #Persistent
    SetTimer, Check, % POLLING_PERIOD ;set the timer to POLLING_PERIOD
    return
    ; timer check
    Check:
    If (A_TimeIdle>=IDLE_DURATION)
    {
    setBacklight(0)
    ; SetTimer, Check, Off ; for testing purposes
    }
    else
    {
    setBacklight(1)
    }
    return
    ; set backlight on or off
    setBacklight(isOn)
    {
    ; do not call backlight program if level is already set
    if (wasOn != isOn){
    wasOn := isOn
    level := isOn ? BACKLIGHT_LEVEL : 0
    Run, ThinkPadLight_v02.exe "C:\ProgramData\Lenovo\ImController\Plugins\ThinkKeyboardPlugin\x86\Keyboard_Core.dll" %level% , , Hide
    }
    }
    ; Script to toggle and set BACKLIGHT_LEVEL permanently during OS session.
    ^Space:: ; hotkey "Ctrl + Space" to toggle global var "BACKLIGHT_LEVEL" between 0; 1; 2
    if (BACKLIGHT_LEVEL = "2"){ ; if (BACKLIGHT_LEVEL is "2")
    BACKLIGHT_LEVEL := "0" ; then set "BACKLIGHT_LEVEL" to "0"
    wasOn := isOn ; turn OFF immediately by writing BACKLIGHT_LEVEL to Keyboard_Core.dll
    level := isOn ? BACKLIGHT_LEVEL : 0
    Run, ThinkPadLight_v02.exe "C:\ProgramData\Lenovo\ImController\Plugins\ThinkKeyboardPlugin\x86\Keyboard_Core.dll" %level% , , Hide
    }
    else ; else ..
    {BACKLIGHT_LEVEL := BACKLIGHT_LEVEL + 1 ; add integer "1" to "BACKLIGHT_LEVEL"
    wasOn := isOn ; and turn ON immediately by writing BACKLIGHT_LEVEL to Keyboard_Core.dll
    level := isOn ? BACKLIGHT_LEVEL : 0
    Run, ThinkPadLight_v02.exe "C:\ProgramData\Lenovo\ImController\Plugins\ThinkKeyboardPlugin\x86\Keyboard_Core.dll" %level% , , Hide
    }
    ; msgbox, 0, , Backlight is set to %BACKLIGHT_LEVEL%, 1 ; shows value of "BACKLIGHT_LEVEL" in msgbox, timeout 1 sec, for setup und trouble shooting
    return

    ; Script to toggle and set BACKLIGHT_LEVEL permanently during OS session


    A script parancsikonját bemásolod ide:
    C:\Users\...\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    És szépen indul rendszerindításkor.

Új hozzászólás Aktív témák