[Android General] prototype74:
Yes [MENTION=5975763]Dr.N@[/MENTION] is right, A8 2018 has no capacitive hardware keys. So Samsung disabled this feature but can be reenabled in services.jar:

Decompile services.jar and go to services.jar/smali/com/android/server/power/PowerManagerService.smali.

Now search for this:

.method public systemReady(Lcom/android/internal/app/IAppOpsService;)V

and add blue lines:

[...]
move-result-object v0

iput-object v0, p0, Lcom/android/server/power/PowerManagerService;->mSmartGlow:Lcom/android/server/lights/Light;

[COLOR="Blue"] new-instance v0, Lcom/android/server/power/PowerManagerService$InputDeviceLightState;

const/4 v1, 0x3

invoke-direct {v0, p0, v1}, Lcom/android/server/power/PowerManagerService$InputDeviceLightState;-><init>(Lcom/android/server/power/PowerManagerService;I)V

iput-object v0, p0, Lcom/android/server/power/PowerManagerService;->mTouchkeyLightState:Lcom/android/server/power/PowerManagerService$InputDeviceLightState;[/COLOR]

iget-boolean v0, p0, Lcom/android/server/power/PowerManagerService;->mIsFolderType:Z

if-eqz v0, :cond_0

new-instance v0, Lcom/android/server/power/PowerManagerService$InputDeviceLightState;

const/4 v1, 0x2
[..]

then in same smali, search for this:

.method protected updatePowerStateLocked()V

remove red lines:

[...]
if-nez v3, :cond_3

invoke-direct {p0, v1}, Lcom/android/server/power/PowerManagerService;->updateDisplayPowerStateLocked(I)Z

move-result v2

[COLOR="red"] iget-boolean v3, p0, Lcom/android/server/power/PowerManagerService;->mIsFolderType:Z

if-nez v3, :cond_4

:goto_0[/COLOR]
invoke-direct {p0, v1, v2}, Lcom/android/server/power/PowerManagerService;->updateDreamLocked(IZ)V

invoke-direct {p0}, Lcom/android/server/power/PowerManagerService;->finishWakefulnessChangeIfNeededLocked()V

invoke-direct {p0}, Lcom/android/server/power/PowerManagerService;->updateSuspendBlockerLocked()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0

invoke-static {v8, v9}, Landroid/os/Trace;->traceEnd(J)V

return-void

[COLOR="Red"] :cond_4
:try_start_1
invoke-direct {p0, v1}, Lcom/android/server/power/PowerManagerService;->updateInputDeviceLightStateLocked(I)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0

goto :goto_0[/COLOR]

:catchall_0
move-exception v3

invoke-static {v8, v9}, Landroid/os/Trace;->traceEnd(J)V

throw v3
[...]

then add blue line:

if-nez v3, :cond_3

invoke-direct {p0, v1}, Lcom/android/server/power/PowerManagerService;->updateDisplayPowerStateLocked(I)Z

move-result v2

[COLOR="Blue"] invoke-direct {p0, v1}, Lcom/android/server/power/PowerManagerService;->updateInputDeviceLightStateLocked(I)V[/COLOR]

invoke-direct {p0, v1, v2}, Lcom/android/server/power/PowerManagerService;->updateDreamLocked(IZ)V

invoke-direct {p0}, Lcom/android/server/power/PowerManagerService;->finishWakefulnessChangeIfNeededLocked()V

invoke-direct {p0}, Lcom/android/server/power/PowerManagerService;->updateSuspendBlockerLocked()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0

invoke-static {v8, v9}, Landroid/os/Trace;->traceEnd(J)V

return-void

:catchall_0
move-exception v3

invoke-static {v8, v9}, Landroid/os/Trace;->traceEnd(J)V

throw v3

Recompile services.jar and test it.

BTW: why do you port an A8 ported ROM from a J7 2015 instead of port your own A8 2018 ROM? :rolleyes:

EDIT: Edited post due to bootloops