# virtual-keyboard
**Repository Path**: Elcker/virtual-keyboard
## Basic Information
- **Project Name**: virtual-keyboard
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-08-27
- **Last Updated**: 2025-08-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 项目需求
由于工业触控平板端在工厂流水线中无法方便使用外设键盘,需要开发一个虚拟键盘在输入框实现数字、英文以及相关符号的输入,因此实现了一个基于vue3+vite的虚拟键盘,具体实现源码可见源码链接。
## 实现效果

## 使用
主文件内容
```javascript
```
### 要想让键盘自动绑定上,input或textarea必须设置keyboard="true"属性
### 源码下载后使用pnpm安装依赖
```bash
pnpm install
```
### input属性
| 属性 | 说明 | 值 | 备注 |
| --------- | -------- | -------- | ------------------ |
| data-mode | 键盘类型 | cn | 中文 |
| data-mode | 键盘类型 | en_cap | 英文大写 |
| data-mode | 键盘类型 | en | 英文小写 |
| data-mode | 键盘类型 | num | 数字键盘 |
| data-mode | 键盘类型 | biaodian | 符号键盘 |
| data-mode | 键盘类型 | password | 密码键盘 |
| data-mode | 键盘类型 | id_card | 身份证键盘 |
| data-mode | 键盘类型 | di_git | 带小数点的数字键盘 |
```html
//通过在input内使用data-mode可以调整键盘显示样式
```
### 词库在本项目的src/dict目录下
### 引用词库示例
### 词库介绍
| 属性 | 说明 | 备注 |
| ------------- | ---------- | ------------------------------------- |
| baseDict.json | 单词汇词库 | 基础词库 |
| address.json | 多词汇词库 | 全国省市区地址(主要)和一些短词句词库 |
| chowder.json | 多词汇词库 | 日常生活,成语,人名,全国省市区地址词库 |
| `` | | |
### 组件属性
| 属性 | 说明 | 值 | 备注 |
| -------------- | ------------------------ | ------------- | ------------------------------ |
| singleDict | 单词汇词库 | baseDict.json | 要想使用汉字拼写功能此项必填 |
| manyDict | 多词汇词库 | 请看词库介绍 | 可以根据不同场景使用不同的词库 |
| maxQuantify | 显示选词个数 | Number | 默认 10 |
| showKeyboard | 手动显示隐藏键盘 | true/false | 默认不需要自己手动传值 |
| inputEvent | 手动传入可编辑的对象 | element | 用来处理可编辑元素 |
| blurHide | 失去焦点是否自动隐藏键盘 | true/false | |
| transitionTime | 键盘动画过渡时间 | String | 默认 '0.3s' |
| `` | | | |
### 组件事件
| 事件 | 说明 | 值 | 备注 |
| -------------------- | -------------------------- | ------------ | ----------------------------------------------------------------------------------------- |
| clickNumber | 点击数字符号触发 | key | |
| clickKey | 点击字母空格触发 | key | |
| del | 点击删除触发 | key | 如果是中文,会返回当前的拼音 |
| changeMode | 键盘类型改变时触发 | data-mode | |
| changeShow | 键盘显示和隐藏触发 | true/false | |
| initResult | 词库加载事件 | success/fail | 成功和错误都会返回对应的结果 |
| inputBindKeyboard | 重新给input绑定键盘 | | 使用:调用组件里面的inputBindKeyboard方法
| contenteditableInput | 更改可编辑元素是触发的事件 | value | |