精华内容
下载资源
问答
  • Activity内的onKeyDown函数可以捕获输入设备的输入,但是如果android了多个usb或者其他接口的输入设备,这时候,怎么获取不同输入设备的信息呢?如果能获取到这个输入设备的信息,我们就可以区分不同的输入设备来...

    Android 获取USB等多个输入设备信息-InputDevice

    Activity内的onKeyDown函数可以捕获输入设备的输入,但是如果android接了多个usb或者其他接口的输入设备,这时候,怎么获取不同输入设备的信息呢?如果能获取到这个输入设备的信息,我们就可以区分不同的输入设备来响应不同的事件。

    所以翻了一KeyEvent这个类,查看了里面的方法,发现有这么一个类InputDevice
    InputDevice这个对象有两种获取方式

    //第一种
    InputDevice inputDevice = InputDevice.getDevice(event.getDeviceId());
    //第二种 通过InputManager获取
    InputManager inputManager = (InputManager)getSystemService(Context.INPUT_SERVICE);
    InputDevice inputDevice = inputManager.getInputDevice(event.getDeviceId());
    //不过都需要获取到DeviceId的前题 如果不在onKeyDown这个接口里呢?
    //我们可以通过InputManager获取到当前的所有设备的DeviceId
    int[] inputDeviceIds= inputManager.getInputDeviceIds();
    
     @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (event.getDeviceId() == KeyCharacterMap.VIRTUAL_KEYBOARD) {//如果是虚拟键盘则不截获输入事件
                return false;
            }
            InputDevice inputDevice = InputDevice.getDevice(event.getDeviceId());
            Log.e("key", "onKeyDown: InputDevice:name=" +  inputDevice.getName()+",productId="+inputDevice.getProductId()+",VendorId="+ inputDevice.getVendorId());
            Log.e("key", "onKeyDown: keyCode=" + keyCode + "String=" + KeyEvent.keyCodeToString(keyCode));
            //监听键盘以及二维码输入
            return true;//截获事件
        }
    

    以上就是在onKeyDown这个接口里获取输入设备信息的方法,有了设备信息,区分判断就是很简单的事情了

    展开全文
  • 修改linux cmdline启动参数为console=ttyS0,115200n8后,可以在虚拟串口中看到系统启动过程的打印输出,但是键盘设备无法输入 如果服务器安装的centOS的话,输入输出可正常使用,已对比两者的内核配置项.config,...
  • 如下图所示,目前是当窗体中的文本框获取焦点后将 自定义虚拟软键盘(keyboard.xaml) 通过keyboard.show() 显示出来,但是文本框获取不到通过虚拟键盘输入的值,反而是电脑上任意一个软件中能输入文本值的地方,...
  • 今天白白跟大家分享一下cocos2d-x中如何获得虚拟键盘并获取用户输入的方法。 有的时候我们需要用户输入一些信息,比如用户登录,这个时候就需要得到虚拟键盘,并获取输入信息,

    今天白白跟大家分享一下cocos2d-x中如何获得虚拟键盘并获取用户输入的方法。

    有的时候我们需要用户输入一些信息,比如用户登录,这个时候就需要得到虚拟键盘,并获取输入信息,在此我们使用CCTextField获取用户输入。

    CCTextFieldTTF是CCLabelTTF的子类,他是一个动态的CCLabelTTF。

    我们去写一个例子,看看如何使用CCTextFieldTTF

    1、首先我们新建一个Text项目,helloscene类继承CCLayer以及CCTextFieldDelegate。

    在头文件还需要声明一些函数,我们看代码:

    class HelloWorld : public cocos2d::CCLayer, cocos2d::CCTextFieldDelegate   //多类继承
    {
    public:
        virtual bool init();  
        //重写CCTextFieldDelegate的回调函数当用户启动虚拟键盘的时候回调函数
        // 要有输出口
        virtual bool onTextFieldAttachWithIME(CCTextFieldTTF * sender);
        //当用户关闭虚拟键盘的时候回调函数
        virtual bool onTextFieldDetachWithIME(CCTextFieldTTF * sender);
        //当用户进行输入,虚拟键盘的时候回调函数
        virtual bool onTextFieldInsertText(CCTextFieldTTF * sender, const char * text, int nLen);
        //当用户进行删除文字,虚拟键盘的时候回调函数
        virtual bool onTextFieldDeleteBackward(CCTextFieldTTF * sender, const char * delText, int nLen);
        static cocos2d::CCScene* scene();
        void menuCloseCallback(CCObject* pSender);
        CREATE_FUNC(HelloWorld);
    };

    2、我们去源文件实现他们:

    这里源文件原有的init函数与scene函数我没有动,只是改变了按钮的回调函数menuCloseCallback:

    void HelloWorld::menuCloseCallback(CCObject* pSender)
    {
        CCTextFieldTTF * text=CCTextFieldTTF::textFieldWithPlaceHolder("plase input","Arial",24);//输入框
        text->setPosition(ccp(100, 100));
        addChild(text);
        text->setDelegate(this);//绑定接口
        text->attachWithIME();//开启虚拟键盘
       //text->detachWithIME(); 这里记得注释掉,不然开启后又被关了    //关闭虚拟键盘
    }
    bool HelloWorld::onTextFieldAttachWithIME(CCTextFieldTTF * sender)
    {
        return false;  //false是启用键盘
    }
    //    当用户关闭虚拟键盘的时候回调函数
    bool HelloWorld :: onTextFieldDetachWithIME(CCTextFieldTTF * sender)
    {
    	return false;  //关闭键盘
    }
    //    当用户进行输入 虚拟键盘的时候回调函数   
    bool HelloWorld ::onTextFieldInsertText(CCTextFieldTTF * sender, const char * text, int nLen)
    {
    	return false;  // 输入字符
    }
    //    当用户进行删除文字 虚拟键盘的时候回调函数
    bool HelloWorld :: onTextFieldDeleteBackward(CCTextFieldTTF * sender, const char * delText, int nLen)
    {
    	return false;//删除字符
    }

    ok,可以运行了,等等,我的虚拟键盘呢?windows没有虚拟键盘,把项目编译到android或者ios才能看到虚拟键盘哦。


    展开全文
  • 实现虚拟键盘需要解决三个问题 1、让你的虚拟键盘置顶 2、调用windows的api实现按键输入。 2、让窗口焦点始终保持在被输入的窗口中。 二、实现方式 第一个问题 调用QWidget的函数让窗口置顶setWindowFlags(Qt::...

    一、思路

    实现虚拟键盘需要解决三个问题

    1、让你的虚拟键盘置顶

    2、调用windows的api实现按键输入。

    2、让窗口焦点始终保持在被输入的窗口中。


    二、实现方式

    第一个问题

    调用QWidget的函数让窗口置顶setWindowFlags(Qt::WindowStaysOnTopHint);

    第二问题

    实现按键输入

    keybd_event(key,0,0,0); //按键按下

    keybd_event(key,0,KEYEVENTF_KEYUP,0); //按键弹起

    key是键盘按键对应的十六进制值,可查看虚拟键盘表

    http://blog.csdn.net/linwenbin1990/article/details/17112017

    第三个问题

    查看 http://blog.csdn.net/linwenbin1990/article/details/17098923


    展开全文
  • 触摸屏实现虚拟键盘输入汉字

    千次阅读 2016-04-26 18:13:00
    前提:设置搜狗输入法或者其他拼音输入法为默认输入法1 添加windows头文件 windows.h2 添加...具体添加方法见下图 5 在文本框获得输入焦点函数中,添加虚拟键盘启动命令WinExec("osk.exe",SW_NORMAL);6 使用虚

    前提:设置搜狗输入法或者其他拼音输入法为默认输入法

    添加windows头文件  windows.h

    添加程序控制头文件#include "tlhelp32.h"

    添加键盘关闭函数,函数体如下所示:

    为文本框添加焦点获取函数OnSetfocusEdit,具体添加方法见下图

    触摸屏实现虚拟键盘输入汉字 - 柠檬加冰 - 柠檬加冰的博客
     

    在文本框获得输入焦点函数中,添加虚拟键盘启动命令

    WinExec("osk.exe",SW_NORMAL);

    使用虚拟键盘输入,输入完毕之后点击确认键,调用虚拟键盘关闭命令,关闭虚拟键盘

    KillExe("osk.exe");


    附件二:键盘关闭函数

    int KillExe(const char* szExeName) 

    if (szExeName == NULL) 

    return 0; 

    int lsr = lstrlen(szExeName); 

    if (lsr == 0) 

    return 0; 

    PROCESSENTRY32 my; 

    HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 

    if (((int)l) != -1) 

    my.dwSize = sizeof(my); 

    if (Process32First(l, &my)) 

    do 

    if (lstrcmpi(szExeName, my.szExeFile + lstrlen(my.szExeFile) - lsr) == 0) 

    HANDLE hProcessHandle; 

    hProcessHandle = OpenProcess(0x1F0FFF, true, my.th32ProcessID); 

    if (hProcessHandle != NULL) 

    if (TerminateProcess(hProcessHandle, 0) != NULL) 

    CloseHandle(hProcessHandle); 

    CloseHandle(l); 

    return 1; 

    }while (Process32Next(l, &my)); 

    CloseHandle(l); 

    return 1; 

    展开全文
  • 最近有个需求,需要在windows上开发一款软键盘,以支持触摸屏上输入文字。为了同时支持Qt编辑框和浏览器编辑框,软键盘以插件的形式开发。于是被集成的目标项目再无需额外的开发工作,直接添加依赖的文件和库即可...
  • 微机原理-虚拟仿真实验-小键盘输入电路汇编代码

    千次阅读 多人点赞 2020-06-10 13:04:28
    微机原理-虚拟仿真实验-小键盘输入电路汇编代码 Data segment PortA equ 408H ; 8255的PA口地址 table db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h,41h,42h,43h,44h,45h,46h s db "Watch and test the keyboard on ...
  • //检测到外接键盘               config.keyboard = Configuration.KEYBOARD_QWERTY;               keyboardPresence |= presenceFlag;             }           } ...
  • 因公司项目需要,需要的触屏设备上进行中文输入,不能入外部键盘,我用的框架是vue,希望有知道的老哥能分享一下,万分感谢。
  • Centos禁止屏幕虚拟键盘弹出

    千次阅读 2020-01-11 19:54:55
    原本触摸屏下虚拟键盘的作用是便于输入,可以在不用外接键盘的情况下,直接用屏幕键盘作为输入,可是当想把屏幕键盘关掉却发现并不是那么简单。 关闭屏幕键盘的主要原因是运行用户程序时,在触屏界面下操作程序界面...
  • js虚拟键盘

    千次阅读 2014-09-12 12:10:12
    功能强大的JS虚拟键盘 最近做项目,我负责做网页前端,客户需要利用触摸屏进行操作,不外接鼠标键盘,但要求能录入文字,包括数字,英文,中文。思考了一下,决定用JS实现虚拟键盘。 首先上网搜索了...
  • 近日在网上看到一位博主写的微信小程序 输入车牌号(有新能源),原文链接:...re
  • Qt官方示例-虚拟键盘使用

    千次阅读 2019-12-01 14:53:11
    这是一个使用Qt虚拟键盘的QML文本输入示例。
  • apicloud 获取手机虚拟键盘高度

    千次阅读 2018-12-26 18:36:17
    现在带虚拟键盘的手机越来越多,又成功的为前端开发者找了个事做。在使用apicloud开发APP中,如果有自定义原生模块的化,有的时候需要避免虚拟键盘带来的一系列体验问题。获取虚拟键盘高度经查阅官方文档及论坛都...
  • 虚拟键盘与输入法

    千次阅读 2014-03-23 14:00:38
    第十一章 虚拟键盘与输入法 Android SDK 1.5引入的众多新功能中,新的输入法框架(Input Method Framework=IMF)是其中之一。基于新的输入法框架,Android SDK 1.5开发出了能够通过虚拟键盘
  • anaconda中pygame无法获取键盘输入问题

    千次阅读 2018-04-20 16:05:08
    Mac下,anaconda虚拟环境中使用pygame包时,由于焦点总是定位在terminal上,所以无法获取键盘输入。解决方法:用pythonw命令取代python命令。如果目录下没有pythonw文件,则执行conda install python.app参考:...
  • 参数: 参数1 ,请查看[DD虚拟键盘码表]。 参数2,1=按下,2=放开 例子: 模拟大写字母A, (需要触发SHIFT+小写字母a) HIVK_KEY(500,1) //SHIFT按下 HIVK_KEY(401,1) //a键按下 HIVK_KEY(401,2) //a键抬起 ...
  • 基于激光投影技术的虚拟键盘

    千次阅读 2019-02-18 15:39:24
    今天给大家带来的开源项目是:基于激光投影技术的虚拟键盘 原文链接:https://mp.weixin.qq.com/s/shFAY6kA9EGqWNZB_Wv8PA 直接看图,看了你就明白了!(键盘运行视频在文末) 文末附开源资料网盘链接。 没错...
  • linux下使用QT5.8实现虚拟键盘

    千次阅读 2017-08-25 17:43:03
    qt自带的virtualkeyboard可以实现不同形态的虚拟键盘
  • Qt-虚拟键盘

    千次阅读 2019-02-27 15:46:10
    开发过程中,查阅大量关于虚拟键盘的使用,其中最容易的是使用Qt自带的输入法,但是此法受制于人。其做法 int main(int argc, char *argv[]) { // 环境 qputenv("QT_IM_MODULE", QByteArray("...
  • 关闭iOS虚拟键盘的六种方法

    千次阅读 2013-01-28 09:19:13
    在iOS应用中,输入操作的方式之一是使用虚拟键盘。打开很容易,关闭却有一些讲究。这需要我们去研究一下。我所知道的需要打开虚拟键盘的三类视图对象分别是UITextField,UITextView和UISearchBar。实现这个操作的方法...
  • 虚拟数字键盘Get up to speed on how digital twin technology is changing how manufactured products and infrastructure projects are designed, brought to market, and maintained. Swift掌握数字孪生技术如何...
  • #include "stdafx.h" #include <windows.h> //声明自定义消息处理函数 LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM ...//注册原始输入设备 void RegKeyboardRawInput(HWND hWnd...
  • python实现键盘自动输入

    万次阅读 2019-06-06 16:36:19
    Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作。Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM_KEYUP消息。 该函数原型如下: VOID keybd_...
  • 一开始,我们的需求是在用户经常使用的部分界面中,增加虚拟键盘,减少用户对于外接键盘的依赖 如图,在整单改价界面右侧增加了方便用户快捷输入的软键盘,用户不需要使用外接键盘,即可完成常见的商品改价等...
  • 关于键盘输入

    千次阅读 2008-06-11 13:16:00
    应用程式应该像接收鼠标输入相同能够接收键盘输入,Windows中的应用程式是以窗体消息的形式来获取键盘输入。 本节包括以下内容:键盘输入模型 键盘聚焦及激活 按键消息 字符消息 键状态 按键及字符转换 热键支持 ...
  • android高仿微信表情输入与键盘输入(详细实现分析)

    万次阅读 多人点赞 2016-08-05 10:09:04
    http://blog.csdn.net/javazejian/article/details/52126391  最近公司在项目上要使用到表情与键盘的切换输入,自己实现了一个,还是存在些缺陷,比如说键盘与表情切换时出现跳闪问题,这个相当困扰我,不过所幸在...
  • C# Winform制作虚拟键盘,支持中文

    千次阅读 2016-11-04 18:12:19
    最近在做一个虚拟键盘功能,代替鼠标键盘操作,效果如下:  实现思路:  1 构建中文-拼音 数据库,我用的是SQLite数据库,如    2 构建布局,如效果图 代码:  数据库代码文件 SqlHandler.csusing System;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,358
精华内容 22,543
关键字:

虚拟接键盘无法输入