# Live keycap

https://fieldbook.lizardi.mx/zh/components/live-keycap

分类：按钮
缩略图：https://fieldbook.lizardi.mx/thumbs/live-keycap.webp

Live keycap：具有实体质感的键帽点击时下压，并响应用户实体键盘上的对应按键。

## 框架

react、vue、svelte、astro、html

## 预览控件

这些控件会传给演示组件。默认值和限制描述的是预览；完整的属性接口请查看实现代码。

| 名称 | 类型 | 默认值 | 选项或限制 |
| --- | --- | --- | --- |
| keyLabel | text | Alt | 最多 8 个字符 |
| accent | color | #38BDF8 | 元数据未列出其他限制。 |
| travel | number | 2 | 范围 1 至 6；步长 1 |
| watchKeyboard | boolean | true | 元数据未列出其他限制。 |
| tone | select | light | 选项：light、dark |

## 使用说明

Live keycap 的预览采用「行内」布局，主题设置为「浅色/深色」。

### Live keycap 提供哪些框架版本？

Live keycap 提供 React、Vue、Svelte、Astro、HTML 版本。实时预览使用 React；以下代码观察仅针对 index.tsx。使用其他版本前，请确认其交互行为。

### Live keycap 有哪些依赖？

React 元数据未列出 React 之外的 npm 依赖。

### Live keycap 的代码中有哪些无障碍细节？

Live keycap 的 React 代码包含：原生元素（button）；属性与事件处理器（onKeyDown、onKeyUp）；按键比较（Enter、Space）。这些信息来自代码观察。请在组合后的页面中验证无障碍名称、焦点顺序和键盘行为。

### Live keycap 如何处理减少动态效果的偏好？

Live keycap 的 React 代码通过 matchMedia(prefers-reduced-motion) 读取动态效果偏好。请启用减少动态效果，检查完整实现、共享样式和所选框架版本；这些观察不能证明所有动画都会停止。

## 通过 MCP 安装

连接客户端，调用 get_component 获取实现，再调用 get_install_command 获取安装说明。选择已列出的框架，将源代码集成到应用中并验证功能。

```json
{
  "tool": "get_component",
  "arguments": {
    "slug": "live-keycap",
    "framework": "react"
  }
}
```

[面向智能体](https://fieldbook.lizardi.mx/zh/docs/agents)
[MCP](https://fieldbook.lizardi.mx/api/mcp)

## 相关开放组件

- [Pressed ledge button](https://fieldbook.lizardi.mx/zh/components/pressed-ledge-button)
- [Three layer push button](https://fieldbook.lizardi.mx/zh/components/three-layer-push-button)
- [Growing ledge button](https://fieldbook.lizardi.mx/zh/components/growing-ledge-button)
- [Hard edge key button](https://fieldbook.lizardi.mx/zh/components/hard-edge-key-button)
- [Lift and Sink Button](https://fieldbook.lizardi.mx/zh/components/lift-and-sink-button)
- [Press block button](https://fieldbook.lizardi.mx/zh/components/press-block-button)
