Decky 0.3.4
Desktop app 0.3.4 · Deck firmware 0.1.7 (updated)
Installed Decky updates itself: use the updates pill in the title bar, or Settings → Updates. New installs: run the Decky-Setup installer. The deck's firmware updates from the same place, with the deck on USB.
Desktop
- Play snake on the deck, five taps on an empty key (9520ce8)
The board is one 20x12 grid across the whole panel, and each key opening
shows a 4x4 corner of it, so the snake runs behind the printed ribs and
comes out the next window. Either end of a game crushes what is on screen
into tiles that fall out of their openings, coloured from the framebuffer
as it stands. A finger dragged anywhere turns it - a key press is a tile
of the board, not a direction - so KeyListener gained a raw touched(), and
the countdown spells SWIPE TO MOVE across the keys.
The deck cannot know which of its keys are empty, so the desktop counts
the taps and sends GAME snake; the window keeps the score while it lasts
and hands the keys back when it ends.
Anything that draws a key while a game runs now waits behind one
predicate, Deck::panel_free(), which replaces the loading-and-changing
test spelled out at six call sites. Live patches, wheels and page states
are still taken - only the drawing waits, and the page is drawn whole the
moment the panel comes back.
Firmware
- Play snake on the deck, five taps on an empty key (9520ce8)
The board is one 20x12 grid across the whole panel, and each key opening
shows a 4x4 corner of it, so the snake runs behind the printed ribs and
comes out the next window. Either end of a game crushes what is on screen
into tiles that fall out of their openings, coloured from the framebuffer
as it stands. A finger dragged anywhere turns it - a key press is a tile
of the board, not a direction - so KeyListener gained a raw touched(), and
the countdown spells SWIPE TO MOVE across the keys.
The deck cannot know which of its keys are empty, so the desktop counts
the taps and sends GAME snake; the window keeps the score while it lasts
and hands the keys back when it ends.
Anything that draws a key while a game runs now waits behind one
predicate, Deck::panel_free(), which replaces the loading-and-changing
test spelled out at six call sites. Live patches, wheels and page states
are still taken - only the drawing waits, and the page is drawn whole the
moment the panel comes back.