请问按下左shift按键,出现了tab按键的效果,怎么解决?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问按下左shift按键,出现了tab按键的效果,怎么解决?相关的知识,希望对你有一定的参考价值。
按键应该是正常的,但是不能像正常那样切换中英文,玩儿游戏也不能实现角色加速效果了,就一直不断的切换选项。变成了tab按键的功能
参考技术A 可能是你把左Shift键下的半透明的弹力片去掉了。键盘用了快一年,听说需要打开清理一下,于是我就打开了(后来发现根本不用清理)。拆键盘很简单的,只要把后盖上的所有螺丝拧下来就行了。打开之后会看到一片透明塑料膜,三层膜中上下两层的内侧有电路。看上去是银白色的,有些地方以经变黑变绿或变蓝了。但是里面并不脏。怎么回事呢?怎么会不脏?仔细想一下也是正常的,因为键盘内部是密封的,一般不会进灰的。和键帽相连的地方有可能进灰,不过好一点的键盘加工精度都比较高一般从这也不会进灰。平时我们看到的键盘外部可能会脏,键帽下会有灰,也会有小杂物。比如头发,瓜子皮,饼干渣,所以为了我们的爱机不要在电脑前吃东西。键帽下面这一块容易脏的地方几乎是无法清理的,因为一些键盘的键帽都很难取下来。
我拆开键盘之后发现没事就要装好,可是我发现少了一个半透明的弹力片还是右Shift上的。一定是我一不小心搞丢了吧?左shift键上有两个弹力片,应该是对称的。我找了一地也没发现……于是我就拆东墙补西墙,去掉一个不常用的键上的装上。可是开机一试,右shift键串字,串到“|”上了,我百思不得其解。为什么呢?我难到搞坏了电路?不是吧!上网去搜,搜不到解法,上论坛也没人会。几个小时后,我又拆开键盘,发现右Shift键下的银色电路变黑了。怎么回事?我又认真看了一下,变色的电路在别处也有几处,不过都不大。变色一般因为局部电流过大引起的氧化,一般说来长时间按一个键会发生这种事,也可能是设计问题,质量问题,老化等等。我觉得没有常用Shift键呀,这还没方向键用的多。是不是电路有问题?我又想起我拆过机之后右Shift键手感变硬了。是不是在右Shift键下本来就只有一个弹力片呢?于是,死马当活马医,我试了试,没想到成功了。事后我总结一下,没有在右shift键下设两个弹力片的原因是电路设计的考滤,也有手感的考滤。它的下面已经有了一个回车、空格键下类似的弹簧,加一个塑料弹力片以足够了。
键盘用得久了,里面透明塑料片上的印刷电路会老化失效,表现为变色。有些朋友使用电线中的细铜丝代替(注:铜丝细一点好,真径一般不能大于05MM)再用透明胶固定,想练习一下动手能力的朋友可以试一下。
C++ 输入按键名按下对应按键
#include <windows.h>
#include <iostream>
#include <string.h>
using namespace std;
typedef struct KeyInfo {
char *info;
int key;
};
KeyInfo ki[200] = {
"回退", 0x08,
"TAB", 0x09,
"CLEAR", 0x0C,
"回车", 0x0D,
"SHIFT", 0x10,
"CONTROL", 0x11,
"MENU", 0x12,
"PAUSE", 0x13,
"CAPITAL", 0x14,
"KANA", 0x15,
"ESCAPE", 0x1B,
"CONVERT", 0x1C,
"NONCONVERT", 0x1D,
"ACCEPT", 0x1E,
"MODECHANGE", 0x1F,
"SPACE", 0x20,
"PRIOR", 0x21,
"NEXT", 0x22,
"END", 0x23,
"HOME", 0x24,
"LEFT", 0x25,
"UP", 0x26,
"RIGHT", 0x27,
"DOWN", 0x28,
"SELECT", 0x29,
"PRINT", 0x2A,
"EXECUTE", 0x2B,
"SNAPSHOT", 0x2C,
"INSERT", 0x2D,
"DELETE", 0x2E,
"HELP", 0x2F,
//数字
"0",0x30,
"1",0x31,
"2",0x32,
"3",0x33,
"4",0x34,
"5",0x35,
"6",0x36,
"7",0x37,
"8",0x38,
"9",0x39,
//字母
"a",0x41,
"b",0x42,
"c",0x43,
"d",0x44,
"e",0x45,
"f",0x46,
"g",0x47,
"h",0x48,
"i",0x49,
"j",0x4a,
"k",0x4b,
"l",0x4c,
"m",0x4d,
"n",0x4e,
"o",0x4f,
"p",0x50,
"q",0x51,
"r",0x52,
"s",0x53,
"t",0x54,
"u",0x55,
"v",0x56,
"w",0x57,
"x",0x58,
"y",0x59,
"z",0x5a,
"LWIN", 0x5B,
"RWIN", 0x5C,
"APPS", 0x5D,
"SLEEP", 0x5F,
"NUMPAD0", 0x60,
"NUMPAD1", 0x61,
"NUMPAD2", 0x62,
"NUMPAD3", 0x63,
"NUMPAD4", 0x64,
"NUMPAD5", 0x65,
"NUMPAD6", 0x66,
"NUMPAD7", 0x67,
"NUMPAD8", 0x68,
"NUMPAD9", 0x69,
"MULTIPLY", 0x6A,
"ADD", 0x6B,
"SEPARATOR", 0x6C,
"SUBTRACT", 0x6D,
"DECIMAL", 0x6E,
"DIVIDE", 0x6F,
"F1", 0x70,
"F2", 0x71,
"F3", 0x72,
"F4", 0x73,
"F5", 0x74,
"F6", 0x75,
"F7", 0x76,
"F8", 0x77,
"F9", 0x78,
"F10", 0x79,
"F11", 0x7A,
"F12", 0x7B,
};
BOOL PushBtn(int key)
{
HWND hwnd = GetForegroundWindow();
// HWND hwnd = GetActiveWindow();
//调用方法:提升软件系统的权限
SendMessage(hwnd, WM_KEYDOWN, (WPARAM)key, 0);
return 0;
}
int main(int argc, char *argv[])
{
char *tmp = argv[0];
// 单个键
if (argc == 1)
{
int m_key;
for (int i = 0; i < 200; i++)
{
if (strcmp(tmp, ki[i].info))
{
m_key = ki[i].key;
PushBtn(m_key);
}
}
}
}
以上是关于请问按下左shift按键,出现了tab按键的效果,怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章