Skip to content

Keyboard Shortcuts

Nokkvi is designed to be fully navigable via keyboard. Every action below can be rebound — see Customizing Shortcuts at the bottom of this page.

Switch between the different screens of the application.

ActionShortcutDescription
Queue1Active playback queue
Albums2Browse library by album
Artists3Browse by artist
Songs4Flat, searchable track list
Genres5Browse by genre
Playlists6Navidrome playlists
Radios7Radio stations
Harbour8Home view — discovery shelves and whole-library search
Settings` (Backtick)Open the settings panel
Theater ModeF11Show only the now-playing cover, visualizer and lyrics; the player bar slides in when the mouse moves. See Theater Mode
ActionShortcutDescription
Play / PauseSpacePlay or pause the current track
Toggle RandomXToggle random/shuffle mode
Toggle RepeatZCycle repeat mode: off → one → queue
Toggle ConsumeCConsume mode removes each track from the queue after it plays
Toggle SFXSEnable or disable UI sound effects
Cycle VisualizerVCycle through visualizer modes: off → bars → lines → scope → MilkDrop
Next PresetNMilkDrop: jump to another preset (only while MilkDrop is playing on screen)
Previous PresetPMilkDrop: go back to the preset before this one
Lock PresetShift + MMilkDrop: keep the current preset until pressed again
Toggle EqualizerQOpen or close the 10-band graphic equalizer
Open TrawltOpen the Trawl mix-builder modal (works in any view except Settings)
Toggle CrossfadeFEnable or disable gapless crossfading between tracks (enabling it turns off bit-perfect)
Toggle LyricsLShow or hide lyrics over the Queue cover art; in Auto, for the playing song only
Toggle Bit-PerfectBCycle bit-perfect output: off → strict → relaxed (turns off crossfade)
Seek BackwardLeftJump back by the Seek Step (5s default, 1–60s). Hold to scrub — or step the focused Trawl control to its previous value
Seek ForwardRightJump ahead by the Seek Step. Hold to scrub — or step the focused Trawl control to its next value

The slot list is the scrollable item list in the center of each view.

ActionShortcutDescription
Slot List UpBackspaceMove the centered slot up in the list
Slot List DownTabMove the centered slot down in the list
Up / DownUp / DownAlso move up and down the list, everywhere but Settings, Trawl and a search box you’re typing in (see Settings Navigation)
Activate / EnterEnterPlay or open the focused item
Focus NavigationMenuHighlight the view tabs: the arrows move along them, Enter opens one, Escape goes back to the list. This is how a TV remote’s Menu button reaches the other views
Shuffle PlayCtrl + EnterShuffle-play the focused item or selection (forced shuffle, ignores the Enter setting) — or, in the Trawl modal, play the mix (replaces the queue)
Expand / CollapseShift + EnterExpand / collapse the focused item inline (albums, artists, playlists, genres)
Search/Focus the search bar in the current view
Center on PlayingShift + CScroll the list to the currently playing track
Library BrowserCtrl + EToggle the library browser panel alongside the Queue
ActionShortcutDescription
Add to QueueShift + AAppend the focused item (album, song, artist, genre, or playlist) to the playback queue — or, in the Trawl modal, add the whole mix to the queue
Remove from QueueCtrl + DRemove the focused item from the queue
Clear QueueShift + DRemove all tracks from the queue
Love / UnloveShift + LToggle the Navidrome star (“love”) flag on the focused track
Increase Rating=Increase the star rating by one
Decrease Rating-Decrease the star rating by one
Get InfoShift + IOpen the info panel for the focused item
Find SimilarShift + SFind songs similar to the currently playing track
Top SongsShift + TShow top songs for the playing track’s artist
Similar ArtistsShift + ROpen the Similar Artists popup for the focused item’s artist. Press it again to close the popup
Move Track UpShift + UpMove the focused queue track up by one position
Move Track DownShift + DownMove the focused queue track down by one position
Save Queue as PlaylistCtrl + SOpen the save-as-playlist dialog for the current queue
New Smart PlaylistShift + NOpen the smart-playlist rules editor on a new blank playlist
Edit Centered PlaylistEEdit the centered playlist (Playlists view) — rules editor for smart, track editor for manual
Trawl: Save Mix as PlaylistShift + PSave the current Trawl mix as an ordinary (static) playlist — mix builder only
ActionShortcutDescription
Previous Sort ModeShift + LeftCycle the sort mode backward — or step the focused Trawl control to its previous value
Next Sort ModeShift + RightCycle the sort mode forward — or step the focused Trawl control to its next value
Toggle Sort OrderPage UpToggle ascending / descending sort
Refresh ViewRReload the current view’s data from the server
RouletteCtrl + RSpin the wheel and play a random item from the current view
ActionShortcutNotes
Escape / BackEscapeClose overlays, clear search, or go back — not rebindable
Reset to DefaultDeleteReset the focused setting to its default value (Settings view only) — not rebindable

A keyboard’s media keys and a TV remote with a USB dongle (an air mouse like the G20S) work out of the box on a Wayland desktop. These are fixed, like Escape:

KeyWhat it does
Play/Pause, Media Pause, Media StopPlay, pause or stop playback, even with a popup open
Next Track / Previous TrackSkip to the next or previous track, even with a popup open
Home Page (a remote’s Home)Go to Harbour (Plasma Bigscreen keeps this key for its own home screen)
A remote’s OKPlay or open the focused item, like Enter. Wayland only: X11 can’t carry this key
A remote’s BackBack out of a popup, a menu, a search box or Theater Mode, like Escape. With nothing left to back out of, it highlights the view tabs

On a remote, the D-pad’s Up / Down move through the list, Left / Right seek, OK plays the focused item and Back goes back. To switch views, press Back until there’s nothing left to back out of (a popup, a search, an expanded album): the next Back highlights the view tabs. Then Left / Right move along the top bar (Up / Down in the side bar), OK opens one, and Back or the arrow toward the list leaves. The Menu button does the same (Focus Navigation) on desktops that pass it through; Plasma Bigscreen keeps Menu, Home and Settings for its own screens. A press acts once even when the TV box is busy: Enter, Escape and the highlighted tabs don’t repeat.

Plasma, GNOME and most compositor configs take the media and volume keys for themselves. Nokkvi then gets play/pause, next and previous through MPRIS instead, so they still work. Where the desktop leaves them alone, the media keys reach nokkvi only while its window has focus.

Every other remote or media key can be bound to any action: Search, Favorites, Forward, Refresh, Rewind, Fast Forward, Volume Up, Volume Down and Mute. A button with no key name at all (a remote’s voice button, say) binds by its Linux key number and shows as Key 582. Press it while a row in Settings > Hotkeys is waiting for a key, or look for Key with no name pressed in nokkvi.log.

In Theater Mode, Escape leaves it. Keys that act on the hidden list (Tab, Enter, ratings, queue edits) leave it too without acting, and view keys leave it and then switch.

In the Settings view, Up / Down edit values; everywhere else they move through the list, except in Trawl and while you’re typing in a search box. Shift + Tab / Shift + Backspace move between settings categories here, and do double duty inside the Trawl modal, where they step the controls-row focus ring.

ActionShortcutDescription
Edit Value UpUpToggle a setting on, or increment a value
Edit Value DownDownToggle a setting off, or decrement a value
Next Settings CategoryShift + TabMove to the next category in the settings sidebar — or step the Trawl controls-row focus ring forward
Previous Settings CategoryShift + BackspaceMove to the previous category in the settings sidebar — or step the Trawl controls-row focus ring backward

The smart-playlist rules editor is keyboard-first. Most of its keys are fixed context behaviors rather than rebindable actions — the exceptions are Save, which follows your Save Queue as Playlist binding (Ctrl + S by default), and the two entry-point actions above (Shift + N, E).

Building the rules (form pane):

ActionShortcut
Move between rowsUp / Down
Step or cycle the focused cellLeft / Right
Next cell in the rowTab
Switch between the form and the previewShift + Tab
Act on the focused cell — open a picker, toggle, add or remove a ruleEnter
Reorder a sort keyShift + Up / Shift + Down
Remove the focused rule or sort keyDelete, Backspace, or x
Preview (re-evaluate on the server)Ctrl + Enter
SaveCtrl + S
Discard (confirms if there are unsaved edits)Escape

While editing a text or number cell, Enter or Tab commits it and Escape reverts just that cell. In the preview pane, Up / Down move and Enter plays the evaluated list from the focused row.

Pickers and the calendar:

ActionShortcut
Filter a list picker (field, operator, genre, playlist…)type to filter, then Up / Down, Enter, Escape
Calendar — move by a dayLeft / Right
Calendar — move by a weekUp / Down
Calendar — previous / next monthPage Up / Page Down
Calendar — pick the focused dayEnter

All shortcuts except Escape, Delete, the media keys and Home Page can be rebound in the Settings UI. Nokkvi writes bindings under the [hotkeys] section of config.toml, and only non-default bindings are written, so you only need to list the ones you want to change.

A direct edit to config.toml can also override escape or reset_to_default — the loader accepts those action keys — but the in-app editor refuses to rebind them so you keep a way out of every screen.

Rebinding in the Settings UI can’t create a shared key: pressing a combo another action already holds swaps the two, and the row confirms it — Swapped with Seek Forward. Nothing is left double-bound.

Hand-editing config.toml can, and then Nokkvi picks one owner in a fixed order — the same on every launch, and the same answer the conflict check gives:

  1. A reserved action (escape, reset_to_default) always wins, so nothing parked on one can shadow your way out of a screen.
  2. Otherwise, an action moved off its default wins over one merely sitting where it shipped — you put it there on purpose.
  3. Otherwise, the action declared first wins.

Loading a config with a shared combo logs one warning per combo naming every claimant and the winner, so nokkvi.log tells you which one is live.

A binding is a string in the form "Modifiers + Key". Modifiers are optional; the key name is required.

PartValues
ModifierShift, Ctrl (or Control), Alt
KeyAny single character (a–z, 0–9, /, -, =, `, etc.)
Named keySpace, Enter, Escape, Backspace, Tab, Up, Down, Left, Right, Page Up, Page Down, Home, End, Delete, Insert, F1–F12
Remote and media keyMenu, Home Page, Search, Favorites, Forward, Refresh, Play/Pause, Media Pause, Media Stop, Next Track, Previous Track, Rewind, Fast Forward, Volume Up, Volume Down, Mute
Key with no nameKey 582 (its Linux key number, as evtest shows it)

Multiple modifiers are combined with +: "Ctrl + Shift + S".

Key names are case-insensitive. "shift + l" and "Shift + L" are the same.

Each action maps to a snake_case key under [hotkeys]:

ActionTOML key
Queue viewswitch_to_queue
Albums viewswitch_to_albums
Artists viewswitch_to_artists
Songs viewswitch_to_songs
Genres viewswitch_to_genres
Playlists viewswitch_to_playlists
Radios viewswitch_to_radios
Harbour viewswitch_to_harbour
Settingsswitch_to_settings
Theater Modetoggle_theater
Play / Pausetoggle_play
Toggle Randomtoggle_random
Toggle Repeattoggle_repeat
Toggle Consumetoggle_consume
Toggle SFXtoggle_sound_effects
Cycle Visualizercycle_visualization
Next Presetnext_visualizer_preset
Previous Presetprevious_visualizer_preset
Lock Presettoggle_visualizer_preset_lock
Toggle Equalizertoggle_eq_modal
Open Trawlopen_trawl
Toggle Crossfadetoggle_crossfade
Toggle Lyricstoggle_lyrics
Toggle Bit-Perfecttoggle_bit_perfect
Seek Backwardseek_backward
Seek Forwardseek_forward
Slot List Upslot_list_up
Slot List Downslot_list_down
Activateactivate
Expand / Collapseexpand_center
Focus Navigationfocus_navigation
Shuffle Playshuffle_play
Library Browsertoggle_browsing_panel
Center on Playingcenter_on_playing
Love / Unlovetoggle_star
Add to Queueadd_to_queue
Remove from Queueremove_from_queue
Clear Queueclear_queue
Searchfocus_search
Increase Ratingincrease_rating
Decrease Ratingdecrease_rating
Get Infoget_info
Find Similarfind_similar
Top Songsfind_top_songs
Similar Artistssimilar_artists
Move Track Upmove_track_up
Move Track Downmove_track_down
Save Queue as Playlistsave_queue_as_playlist
New Smart Playlistnew_smart_playlist
Edit Centered Playlistedit_centered_playlist
Trawl: Save Mix as Playlisttrawl_save_as_playlist
Previous Sort Modeprev_sort_mode
Next Sort Modenext_sort_mode
Toggle Sort Ordertoggle_sort_order
Refresh Viewrefresh_view
Rouletteroulette
Edit Value Upedit_up
Edit Value Downedit_down
Next Settings Categorysettings_category_next
Previous Settings Categorysettings_category_prev

The fixed keys have TOML keys too, which only a direct edit to config.toml can move: escape, reset_to_default, media_play_pause, media_pause, media_stop, media_next_track, media_previous_track and go_home.

[hotkeys]
# Rebind slot navigation to J/K (vim style)
slot_list_down = "J"
slot_list_up = "K"
# Move the visualizer cycle to a function key
cycle_visualization = "F2"
# Use Ctrl+Shift+S to save queue as playlist
save_queue_as_playlist = "Ctrl + Shift + S"
# A remote's voice button (Linux key 582) as play/pause (moves it off Space)
toggle_play = "Key 582"