> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Keyboard Shortcuts

> Nextedy RISKSHEET provides keyboard shortcuts for common grid operations including navigation, cell editing, clipboard operations, and row management.

export const LastReviewed = ({date}) => {
  if (!date) return null;
  const formatted = new Date(`${date}T00:00:00Z`).toLocaleDateString("en-US", {
    year: "numeric",
    month: "long",
    day: "numeric",
    timeZone: "UTC"
  });
  return <p className="mt-10 text-sm text-gray-400 dark:text-zinc-500 not-prose">
      Last reviewed on {formatted}
    </p>;
};

<Tip title="Keyboard vs. Toolbar Actions">
  Several operations behave differently depending on whether you use the keyboard shortcut or the toolbar button. The most important distinction is between the **Delete** key (clears cell content) and the **toolbar delete button** (removes the entire row). Understanding this difference prevents accidental data loss.
</Tip>

## Navigation Shortcuts

Use these shortcuts to move through the Risksheet grid without touching the mouse.

| Shortcut      | Action        | Description                                                               |
| ------------- | ------------- | ------------------------------------------------------------------------- |
| `Arrow Up`    | Move up       | Moves the active cell one row up                                          |
| `Arrow Down`  | Move down     | Moves the active cell one row down                                        |
| `Arrow Left`  | Move left     | Moves the active cell one column left                                     |
| `Arrow Right` | Move right    | Moves the active cell one column right                                    |
| `Tab`         | Next cell     | Moves the active cell to the next column in the current row               |
| `Shift + Tab` | Previous cell | Moves the active cell to the previous column in the current row           |
| `Home`        | Row start     | Moves the active cell to the first column in the current row              |
| `End`         | Row end       | Moves the active cell to the last column in the current row               |
| `Ctrl + Home` | Grid start    | Moves the active cell to the first cell in the grid (top-left corner)     |
| `Ctrl + End`  | Grid end      | Moves the active cell to the last cell in the grid (bottom-right corner)  |
| `Page Up`     | Page up       | Scrolls the grid view one page up and moves the active cell accordingly   |
| `Page Down`   | Page down     | Scrolls the grid view one page down and moves the active cell accordingly |

<Note title="Frozen Column Navigation">
  When columns are frozen via the Freeze Pane context menu action, the `Home` key moves to the first unfrozen column. Frozen columns remain visible during horizontal scrolling regardless of the active cell position.
</Note>

## Cell Editing Shortcuts

| Shortcut    | Action             | Description                                                                                                            |
| ----------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| `F2`        | Enter edit mode    | Activates the cell editor for the currently selected cell. The cursor appears inside the cell for text modification.   |
| `Enter`     | Confirm edit       | Confirms the current cell edit value and advances the active cell to the next row in the same column.                  |
| `Escape`    | Cancel edit        | Cancels the current cell edit and reverts the cell to its previous value. Also exits edit mode without saving changes. |
| `Delete`    | Clear cell content | Clears the content of the selected cell **without** removing the row. The row and work item remain intact.             |
| `Backspace` | Clear and edit     | Clears the current cell content and immediately enters edit mode, allowing you to type a replacement value.            |

<Warning title="Delete Key vs. Toolbar Delete Button">
  This distinction is critical for data integrity:

  * **Keyboard `Delete` key**: Clears only the **content** of the selected cell. The row, work item, and all other cell values remain untouched.
  * **Toolbar  delete button**: Removes the **entire row** from the Risksheet grid, which deletes or removes the underlying work item depending on your `dataTypes.risk.removeStrategy` configuration.

  Always use the keyboard `Delete` key when you intend to erase a single cell value. Use the toolbar button only when you want to remove the entire risk item row.
</Warning>

## Clipboard Shortcuts

| Shortcut   | Action | Description                                                                   |
| ---------- | ------ | ----------------------------------------------------------------------------- |
| `Ctrl + C` | Copy   | Copies the value of the selected cell or cells to the clipboard               |
| `Ctrl + V` | Paste  | Pastes the clipboard value into the selected cell or cells                    |
| `Ctrl + X` | Cut    | Cuts the value of the selected cell (copies to clipboard and clears the cell) |

### Copying a Value to Multiple Cells

You can paste a single copied value into multiple target cells at once. This is the recommended approach for bulk data entry across large risk analysis tables:

**Step 1.** Select the source cell containing the value you want to replicate.

**Step 2.** Press `Ctrl + C` to copy the cell value.

**Step 3.** Select the target cells. You have two options:

* **Range selection**: Click the first target cell, hold `Shift`, then click the last target cell.
* **Individual selection**: Hold `Ctrl` and click each target cell individually.

**Step 4.** Press `Ctrl + V` to paste the copied value into all selected cells.

<Note title="Multi-Cell Paste Limitations">
  Multi-cell paste works on **unmerged cells** only. In hierarchical Risksheet layouts where cells are merged across levels, the paste operation applies to the visible (unmerged) cells in the selection. Merged cells that span multiple rows will not receive the pasted value.
</Note>

### Fill Down (Ctrl+D) -- Not Yet Available

The `Ctrl + D` fill-down shortcut, familiar from Excel for copying the value from the cell above into the current cell or range, is **not available** in the current version of Risksheet. This feature has been requested by users working with large risk analysis tables (thousands of entries across 40+ columns) and is tracked as a future enhancement.

**Workaround**: Use the `Ctrl + C` / multi-select / `Ctrl + V` workflow described above to achieve similar results.

## Selection Shortcuts

| Shortcut        | Action           | Description                                                                                          |
| --------------- | ---------------- | ---------------------------------------------------------------------------------------------------- |
| `Ctrl + A`      | Select all       | Selects all cells in the entire grid                                                                 |
| `Shift + Arrow` | Extend selection | Extends the current cell selection by one cell in the arrow key direction                            |
| `Shift + Click` | Range select     | Selects a contiguous range of cells from the current active cell to the clicked cell                 |
| `Ctrl + Click`  | Multi-select     | Toggles individual cells into or out of the current selection without affecting other selected cells |

## Row and Item Management

Row management in Risksheet involves two distinct categories of operations: cell-level edits and row-level structural changes. The following table clarifies the methods and effects for each.

| Operation            | Method             | Effect                   |
| -------------------- | ------------------ | ------------------------ |
| Clear cell value     | Keyboard Delete    | Erases cell content only |
| Remove entire row    | Toolbar delete btn | Deletes the work item    |
| Create new risk item | Context menu       | Adds row of level type   |
| Overwrite reference  | Context menu       | Converts ref to local    |

| Action              | Method                            | Scope                             | Available When                                    |
| ------------------- | --------------------------------- | --------------------------------- | ------------------------------------------------- |
| Clear cell          | `Delete` key                      | Single cell content               | Cell is editable (not read-only)                  |
| Remove row          | Toolbar  button                   | Entire work item row              | Grid is not `readonly`                            |
| Create new item     | Context menu > New \[type]        | Adds a new row                    | Grid is editable and level has `showInMenu: true` |
| Overwrite reference | Context menu > Overwrite Row Item | Converts referenced item to local | Item has `systemReferenceType` of `reference`     |

<Info title="Remove Strategy">
  The behavior of the toolbar delete button depends on the `dataTypes.risk.removeStrategy` configuration property. When set to `delete`, the work item is permanently removed. See [Data Types](/risksheet/reference/columns/data-types) and [Configuration Properties Index](/risksheet/reference/configuration/properties-index) for details.
</Info>

## Context Menu Actions

Right-clicking any cell in the Risksheet grid opens a context menu with the following actions. These are not keyboard shortcuts but are essential for grid interaction.

| Menu Action            | Description                                                                   | Availability                                                             |
| ---------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| **Open Row Item**      | Opens the current row's work item in Polarion's standard item editor view     | Always available                                                         |
| **Open Linked Item**   | Opens a linked work item from an item link or multi-item link column          | Cell contains a valid item link (link value does not start with `*`)     |
| **Open Task Item**     | Opens a linked task work item from a task link column                         | Cell is in a task link column with a valid task reference                |
| **New \[Level Name]**  | Creates a new work item of the specified level type                           | Grid is editable; level has `showInMenu: true` in `levels` configuration |
| **Overwrite Row Item** | Converts a referenced item to overwrite mode, allowing local modifications    | Item `systemReferenceType` is `reference`                                |
| **Remove Row Item**    | Removes the selected row from the grid                                        | Grid `readonly` is `false`                                               |
| **Freeze Pane**        | Freezes all columns to the left of the current column position                | Always available                                                         |
| **Unfreeze Pane**      | Removes column freezing, returning to normal scrolling                        | Columns are currently frozen (`frozenColumns > 0`)                       |
| **Debug**              | Outputs diagnostic information about the selected cell to the browser console | Only visible when `debug` is `true` in configuration                     |

<Tip title="Custom Context Menu Extensions">
  You can register custom context menu actions through the `window.risksheet.customContextMenuActions` extension point. Each custom action requires a `label`, an `enable` condition function, and an `execution` function. See [JavaScript API](/risksheet/reference/api/javascript-api) for implementation details.
</Tip>

### Context Menu Link Behavior

* **Open Linked Item**: The menu label displays the level definition name or column header text. This action is available when the cell contains a valid item link (the link value does not begin with `*`, which indicates an unsaved item).
* **Open Task Item**: The menu label uses the task type name from `dataTypes.task.name` if configured, otherwise defaults to "Task".

## Freeze Pane

Column freezing locks columns to the left of the selected position, keeping them visible during horizontal scrolling. This is particularly useful for wide FMEA/HARA tables where the risk item identifier columns should remain visible while scrolling through assessment columns.

| Operation        | Method                          | Description                                                                                    |
| ---------------- | ------------------------------- | ---------------------------------------------------------------------------------------------- |
| Freeze columns   | Right-click > **Freeze Pane**   | Locks all columns to the left of the right-clicked column in place during horizontal scrolling |
| Unfreeze columns | Right-click > **Unfreeze Pane** | Releases all frozen columns, returning to normal scrolling behavior                            |

<Note title="Row Freezing">
  Column freezing (Freeze Pane) is available in the current version. **Row freezing** -- the ability to lock specific rows in place during vertical scrolling -- is not yet available but has been requested as a future enhancement.
</Note>

## Debug Context Menu

When the `debug` configuration option is enabled, the Debug context menu item outputs the following diagnostic information to the browser developer console (`F12` > Console tab):

| Debug Output     | Description                                                                             |
| ---------------- | --------------------------------------------------------------------------------------- |
| Ghost status     | Whether the selected row is a ghost/placeholder item (used in baseline comparison mode) |
| Column ID        | The binding identifier of the selected column                                           |
| Cell value       | The current value of the selected cell                                                  |
| Full item object | The complete data object for the work item in the current row                           |
| Comparison state | Current state of the comparison manager (when in baseline comparison mode)              |

## Shortcut Availability by Grid State

Not all shortcuts are available in every grid state. The Risksheet grid can operate in several modes, each restricting different categories of actions.

| Grid State                           | Navigation | Cell Editing          | Clipboard   | Row Management | Context Menu         |
| ------------------------------------ | ---------- | --------------------- | ----------- | -------------- | -------------------- |
| **Normal** (editable)                | ✅ All      | ✅ All                 | ✅ All       | ✅ All          | ✅ All actions        |
| **Read-only** (`readonly: true`)     | ✅ All      | ❌ None                | ✅ Copy only | ❌ None         | Open items only      |
| **Reviewer mode** (`reviewer: true`) | ✅ All      | ➖ Review columns only | ✅ Copy only | ❌ None         | Open items + reviews |
| **Baseline comparison**              | ✅ All      | ❌ None                | ✅ Copy only | ❌ None         | Open items only      |
| **Historical revision**              | ✅ All      | ❌ None                | ✅ Copy only | ❌ None         | Open items only      |

<Info title="Automatic Read-Only on Historical Revisions">
  When viewing a historical revision (non-empty `revision` parameter), the grid automatically enters read-only mode regardless of the `readonly` configuration setting. This prevents edits to past document states.
</Info>

## Platform-Specific Notes

| Platform        | Modifier Key | Example             |
| --------------- | ------------ | ------------------- |
| Windows / Linux | `Ctrl`       | `Ctrl + C` for copy |
| macOS           | `Cmd`        | `Cmd + C` for copy  |

All `Ctrl` shortcuts in this reference use `Cmd` as the equivalent modifier key on macOS systems.

## Related Pages

* [Understanding the Interface](/risksheet/getting-started/understanding-interface) -- overview of the Risksheet grid layout and navigation areas
* [Configuration Properties Index](/risksheet/reference/configuration/properties-index) -- reference for `readonly`, `reviewer`, `debug`, and `removeStrategy` properties
* [Saved Views](/risksheet/reference/saved-views) -- switching between column visibility presets
* [JavaScript API](/risksheet/reference/api/javascript-api) -- registering custom context menu actions via `window.risksheet.customContextMenuActions`
* [Levels Configuration](/risksheet/reference/levels-configuration) -- configuring `showInMenu` for new item creation from the context menu

<LastReviewed date="2026-06-24" />
