# D-Pad Select Key Fix — Android TV / Fire TV

## Root Cause

`Key.DirectionCenter` is a Compose logical enum that does **NOT** reliably fire on Android TV
and Fire TV remotes. The hardware D-pad center button maps to different keycodes depending
on the device:

| Device | D-pad center key | Works? |
|--------|-----------------|--------|
| Android TV (stock) | `Key.DpadCenter` | ✅ |
| Fire TV / Fire OS | `Key.DpadCenter` or `Key.Enter` | mixed |
| `Key.DirectionCenter` | logical alias | ❌ unreliable |

## The Fix

Replace ALL instances of `Key.DirectionCenter` with this helper pattern:

```kotlin
import androidx.compose.ui.input.key.Key

/** D-pad select — handles TV remotes (DpadCenter) + keyboards (Enter). */
private fun isSelectKey(key: Key) = key == Key.DpadCenter || key == Key.Enter

// Usage:
.onPreviewKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp && isSelectKey(event.key)) {
        onClick(); true
    } else false
}
```

## Files in this repo still using wrong key

| File | Lines | Pattern |
|------|-------|---------|
| `GlassDockSidebar.kt` | 142, 280 | `Key.DirectionRight \|\| Key.DirectionCenter` |
| `ContinueWatchingCard.kt` | 103 | `Key.Enter, Key.DirectionCenter` |
| `AddonControlScreen.kt` | 105, 279, 295 | `Key.DirectionCenter \|\| Key.Enter` |

All three files need the fix. The `DirectionRight` in GlassDockSidebar is correct — only
`DirectionCenter` needs replacement.

## Also fix: back key

```kotlin
private fun isBackKey(key: Key) = key == Key.Back
```

## Verification

After fixing, test with a Fire TV remote or emulator: D-pad center should select/activate
all interactive elements (sidebar steps, provider cards, service cards, OTT toggles).
