OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6570|回复: 10

有没有做过usb键盘 的大神,过来指点迷津吧!!请问是usb键盘的 win ctrl alt shift 这些按键的键值码是什么求一个能被电脑识别的键值码

[复制链接]

2

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-10-5
在线时间
1 小时
发表于 2015-11-28 22:36:56 | 显示全部楼层 |阅读模式
5金钱
下面是我写的usb键盘的键值表,前面是ps2的  后面是usb键盘的键值码,但是usb的  win ctrl alt shift 这些按键的键值码不能被电脑识别
有哪位大神知道这几个按键的键值码是什么分享一下呗!!!!!

switch(Keys) 
  {
   case 0x1c:Buffer=0x04;i++;break; //a
   case 0x32:Buffer=0x05;i++;break; //b  
   case 0x21:Buffer=0x06;i++;break; //c
   case 0x23:Buffer=0x07;i++;break; //d
   case 0x24:Buffer=0x08;i++;break; //e
   case 0x2b:Buffer=0x09;i++;break; //f
   case 0x34:Buffer=0x0A;i++;break; //g
   case 0x33:Buffer=0x0B;i++;break; //h
   case 0x43:Buffer=0x0C;i++;break; //i
   case 0x3b:Buffer=0x0D;i++;break; //j
   case 0x42:Buffer=0x0E;i++;break; //k
   case 0x4B:Buffer=0x1E;i++;break; //l
   case 0x3a:Buffer=0x10;i++;break; //m
   case 0x31:Buffer=0x11;i++;break; //n
   case 0x44:Buffer=0x12;i++;break; //o
   case 0x4d:Buffer=0x13;i++;break; //p
   case 0x15:Buffer=0x14;i++;break; //q
   case 0x2d:Buffer=0x15;i++;break; //r
   case 0x1b:Buffer=0x16;i++;break; //s
   case 0x2c:Buffer=0x17;i++;break; //t
   case 0x3c:Buffer=0x18;i++;break; //u
   case 0x2a:Buffer=0x19;i++;break; //v
   case 0x1d:Buffer=0x1A;i++;break; //w
   case 0x22:Buffer=0x1B;i++;break; //x
   case 0x35:Buffer=0x1C;i++;break; //y
   case 0x1a:Buffer=0x1D;i++;break; //z
   /*------------26??×???----------------*/
   case 0x45:Buffer=0x27;i++;break; //0
   case 0x16:Buffer=0x1E;i++;break; //1
   case 0x1E:Buffer=0x1F;i++;break; //2
   case 0x26:Buffer=0x20;i++;break; //3
   case 0x25:Buffer=0x21;i++;break; //4
   case 0x2E:Buffer=0x22;i++;break; //5
   case 0x36:Buffer=0x23;i++;break; //6
   case 0x3D:Buffer=0x24;i++;break; //7
   case 0x3E:Buffer=0x25;i++;break; //8
   case 0x46:Buffer=0x26;i++;break; //9
   case 0x0E:Buffer=0x35;i++;break; //?¤
   case 0x4E:Buffer=0x2D;i++;break; //-
   case 0x55:Buffer=0x2E;i++;break; //=
   case 0x66:Buffer=0x2A;i++;break; //backspace
   /*----------×?????????????×?----------*/
   case 0x76:Buffer=0x29;i++;break; //esc
   case 0x05:Buffer=0x3A;i++;break; //F1
   case 0x06:Buffer=0x3B;i++;break; //F2
   case 0x04:Buffer=0x3C;i++;break; //F3
   case 0x0C:Buffer=0x3D;i++;break; //F4
   case 0x03:Buffer=0x3E;i++;break; //F5
   case 0x0B:Buffer=0x3F;i++;break; //F6
   case 0x83:Buffer=0x40;i++;break; //F7
   case 0x0A:Buffer=0x41;i++;break; //F8
   case 0x01:Buffer=0x42;i++;break; //F9
   case 0x09:Buffer=0x43;i++;break; //F10
   case 0x78:Buffer=0x44;i++;break; //F11
   case 0x07:Buffer=0x45;i++;break; //esc
   /*-------------esc--F1--------------*/
//   case 0x7C:Buffer=0x46;i++;break; //printscreen   shao??
   case 0x7E:Buffer=0x47;i++;break; //scroll lock  shao
   case 0xE1:Buffer=0x48;i++;break; //pause break    shao
   case 0x70:Buffer=0x49;i++;break; //insert
   case 0x6C:Buffer=0x4A;i++;break; //home
   case 0x7D:Buffer=0x4B;i++;break; //page up
   case 0x71:Buffer=0x4C;i++;break; //delete
   case 0x69:Buffer=0x4D;i++;break; //end
   case 0x7A:Buffer=0x4E;i++;break; //page down
   /*-----printscreen--page down-------*/
   case 0x0D:Buffer=0x2B;i++;break; //tab
   case 0x54:Buffer=0x2F;i++;break; //[
    case 0x5B:Buffer=0x30;i++;break; //]
   case 0x5D:Buffer=0x31;i++;break; // \ //
   case 0x58:Buffer=0x39;i++;break; //caps lock
   case 0x4C:Buffer=0x33;i++;break; //:
   case 0x52:Buffer=0x34;i++;break; //'
   case 0x5A:Buffer=0x28;i++;break; //enter
   case 0x12:Buffer=0xE1;i++;break; //left shift
   case 0x41:Buffer=0x36;i++;break; //,
   case 0x49:Buffer=0x37;i++;break; //.
   case 0x4A:Buffer=0x38;i++;break; ///
   case 0x59:Buffer=0x02;i++;break; //r shift
   case 0x14:Buffer=0xE4;i++;break; //l ctrl
   case 0x1F:Buffer=0xE3;i++;break; //l win  E0
   case 0x11:Buffer=0xE2;i++;break; //l alt
   case 0x29:Buffer=0x2C;i++;break; //space
  // case 0x11:Buffer=0xE6;i++;break; //r alt E0×ó?????ù
   case 0x27:Buffer=0xE7;i++;break; //r win E0
   case 0x2F:Buffer=0x65;i++;break; //apps   ?E0
 //  case 0x14:Buffer=0xE4;i++;break; //r ctrl  E0×ó?????ù
   /*---------26×??????§????-----------*/
   case 0x75:Buffer=0x52;i++;break; //UP arrow
   case 0x72:Buffer=0x51;i++;break; //Down arrow
   case 0x6B:Buffer=0x50;i++;break; //left arrow
   case 0x74:Buffer=0x4F;i++;break; //right arrow
   /*-------------????×ó??------------*/
   case 0x77:Buffer=0x53;i++;break; //NUM LOSCRLK
 //  case 0x4A:Buffer=0x54;i++;break; // /  E0
      case 0x7C:Buffer=0x55;i++;break; // *
      case 0x7B:Buffer=0x56;i++;break; // - 
      case 0x79:Buffer=0x57;i++;break; // +  
//   case 0x5A:Buffer=0x58;i++;break; // ENTER  E0
//   case 0x71:Buffer=0x63;i++;break; // .
//   case 0x70:Buffer=0x62;i++;break; //0
//   case 0x69:Buffer=0x59;i++;break; //1
//   case 0x72:Buffer=0x5A;i++;break; //2
//   case 0x7A:Buffer=0x5B;i++;break; //3
//    case 0x6B:Buffer=0x5C;i++;break; //4
    case 0x73:Buffer=0x5D;i++;break; //5
//    case 0x74:Buffer=0x5E;i++;break; //6
//    case 0x6C:Buffer=0x5F;i++;break; //7
//    case 0x75:Buffer=0x60;i++;break; //8
//    case 0x7D:Buffer=0x61;i++;break; //9
   default:break;  
  }

ourdev_692986N5FAHU.pdf

48.92 KB, 下载次数: 1334

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-11-30 00:07:46 | 显示全部楼层
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2015-11-23
在线时间
0 小时
发表于 2015-11-30 15:38:09 | 显示全部楼层
帮顶。。。。
曾经日天
回复

使用道具 举报

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2013-11-27
在线时间
518 小时
发表于 2015-11-30 21:27:10 | 显示全部楼层
哪里这么简单啊,,,,,之前做的一个ps2转换usb的键盘鼠标  写了一个多月,转换算法都花了好长时间
回复

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-10-5
在线时间
1 小时
 楼主| 发表于 2015-12-1 15:21:12 | 显示全部楼层
回复【4楼】wmh19910511:
--------------------------------
不难 我使用2.4g模块作为发送端,另一端也用2.4g模块作为接收端,发送键值码之后他就可以通过这个swith转换变成发送usb键盘的键值码,发送给电脑,我已经测试过了完全没问题,但是就是 shift ctrl win alt 这几个按键的键值码不能被电脑识别!这位大哥你做过键盘的话应该知道usb键盘上shift ctrl win alt 这几个按键的键值码,能不能给我点指导,现在他已经可以实现正常打字,除了shift ctrl win alt 这几个按键不能用其他的都可以用,帮帮我呗 ,谢谢了!!!我qq756449330,可以加我我给你演示一下的确可以得
回复

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-10-5
在线时间
1 小时
 楼主| 发表于 2015-12-1 15:30:40 | 显示全部楼层
回复【3楼】日天学32:
----------------------------
谢谢!
回复

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-10-5
在线时间
1 小时
 楼主| 发表于 2015-12-1 15:46:06 | 显示全部楼层
回复【2楼】正点原子:
--------------------------------
谢谢
回复

使用道具 举报

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2013-11-27
在线时间
518 小时
发表于 2015-12-1 21:13:43 | 显示全部楼层
回复【5楼】未来有多远:
---------------------------------
我做的是usb转ps2,你知道这里面是有兼容性的吗?你居然说不难。。。。。我的设备可以支持95%的usb键盘鼠标。
回复

使用道具 举报

2

主题

16

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-10-5
在线时间
1 小时
 楼主| 发表于 2015-12-2 10:19:46 | 显示全部楼层
回复【8楼】wmh19910511:
---------------------------------
好吧!我和你做的相反的,但是用了2.4g模块来发送的话应该不需要考虑兼容的问题,因为我用了两个f103的板子一个做发送一个做接收,另一端接usb发送给电脑一端接ps2发送给接收端 也就是接usb的那头,所以我只要做一个键值码转换的虚拟键值表就实现这个了,但是就是那四个按键用不了,你知道的话就和我说说呗
回复

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2015-8-10
在线时间
76 小时
发表于 2016-7-25 10:48:43 | 显示全部楼层
我最近也在做这个有没有资料,发给我学习下。QQ1436890290
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-7-30 02:50:50 | 显示全部楼层
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 19:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表