精华内容
下载资源
问答
  • VMware增强型键盘驱动程序

    千次阅读 2020-06-13 06:37:07
    我相信很多人在安装VMware Workstation Pro的时候,都曾发现有一个“增强型键盘驱动程序“,默认是没有打勾的,同样,我也相信很多人都有如下这样的疑问: VMware增强型键盘驱动程序是什么? VMware增强型键盘驱动...

     

    我相信很多人在安装VMware Workstation Pro的时候,都曾发现有一个“增强型键盘驱动程序“,默认是没有打勾的,同样,我也相信很多人都有如下这样的疑问:

    VMware增强型键盘驱动程序是什么?

    VMware增强型键盘驱动程序需要装吗?

    VMware增强型键盘驱动程序有必要打勾吗?

     

    由于今天一位朋友在安装 VMware Workstation Pro 的时候,也遇到这个疑问,我就干脆给给大家简单的讲解一下。

    一般我们在”自定义安装“路径这里,就会出现”增强型键盘驱动程序(需要重新引导以使用此功能(E)此功能要求主机驱动器上具有10MB空间。)“

     

     

    一、增强型键盘驱动程序是什么?

    增强型虚拟键盘功能可更好地处理国际键盘和带有额外按键的键盘。此功能只能在 Windows 主机系统中使用。

     

    由于增强型虚拟键盘功能可尽可能快地处理原始键盘输入,所以能够绕过 Windows 按键处理和任何尚未出现在较低层的恶意软件,从而提高安全性。使用增强型虚拟键盘功能时,如果按下 Ctrl+Alt+Delete,只有客户机操作系统会做出反应。

     

    二、VMware增强型键盘驱动程序需要装吗?

    如果最初安装或升级 Workstation Pro 时没有安装“增强型键盘实用工具”功能,那么,可在程序维护模式下运行 Workstation Pro 安装程序来安装此功能。

     

    在 Windows 主机系统中,要使用虚拟机的增强型虚拟键盘功能,则必须安装增强型键盘驱动程序。

     

    所以大家到里应该可以明白vmware增强型键盘驱动程序是什么了,如果安装虚拟机时没有勾选,以后也可以安装。

     

    三、VMware增强型键盘驱动程序有必要打勾吗?

    从上面的讲解可以看出来,VMware增强型键盘驱动程序主要的作用是提高安全性,如果只是家庭、个人电脑上使用VMware,我个人觉得没有必要打勾。

    展开全文
  • 虚拟键盘驱动程序

    千次阅读 2009-09-13 22:54:00
    虚拟键盘驱动程序Saturday, September 12th, 2009 | Author: admin转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 前段时间写一个程序,要向系统中注入按键事件,我又不...

    虚拟键盘驱动程序
    Saturday, September 12th, 2009 | Author: admin

    转载时请注明出处和作者联系方式
    文章出处:http://www.limodev.cn/blog
    作者联系方式:李先静 <xianjimli at hotmail dot com>

    前段时间写一个程序,要向系统中注入按键事件,我又不想信赖于具体的GUI,就写一个虚拟键盘设备驱动程序,感觉挺好用的,不过后来发现linux其实有一个uinput驱动程序实现了类似的功能。幸好后来才发现uinput这玩意儿,否则就没有机会去写了这个程序了,有时真是宁愿知识面窄一点,这样才有机会重复发明一些轮子,从中获得一些乐趣。

    o 先写一个字符驱动程序。

    #include <linux/module.h>
    #include <linux/moduleparam.h>
    #include <linux/init.h>
    #include <linux/kernel.h>
    #include <linux/slab.h>
    #include <linux/fs.h>
    #include <linux/errno.h>
    #include <linux/types.h>
    #include <linux/proc_fs.h>
    #include <linux/fcntl.h>    
    #include <linux/aio.h>
    #include <asm/uaccess.h>
    #include <linux/ioctl.h>
    #include <linux/cdev.h>
    #include <linux/input.h>
    int vkeyboard_major = 201;
    module_param(vkeyboard_major, int, 0);
    MODULE_AUTHOR("Li XianJing <xianjimli@hotmail.com>");
    MODULE_LICENSE("GPL");
     
    static struct input_dev* vkeyboard_idev = NULL;
     
    int vkeyboard_open(struct inode* inode, struct file* filp)
    {
        return 0;
    }
     
    int vkeyboard_release(struct inode* inode, struct file* filp)
    {
        return 0;
    }
     
    ssize_t vkeyboard_read(struct file* filp, char __user *buf, size_t count, loff_t* f_pos)
    {
        printk(KERN_INFO"%s/n", __func__);
        return count;
    }
     
    struct keyboard_event
    {
        int press;
        int key;
    };
     
    ssize_t vkeyboard_write(struct file* filp, const char __user * buf, size_t count, loff_t* f_pos)
    {
        int ret = 0;
        struct keyboard_event event;
     
        while(ret < count)
        {
            if(copy_from_user(&event, buf + ret, sizeof(event)))
            {
                return -EFAULT;
            }
            ret += sizeof(event);
     
            input_event(vkeyboard_idev, EV_MSC, MSC_SCAN, event.key);
            input_report_key(vkeyboard_idev, event.key, event.press);
            input_sync (vkeyboard_idev);
     
            printk(KERN_INFO"%s p=%d key=%d with scan code/n", __func__, event.press, event.key);
        }
     
        return ret;
    }
     
    static struct file_operations vkeyboard_fops =
    {
        .owner = THIS_MODULE,
        .open    = vkeyboard_open,
        .release = vkeyboard_release,
        .read    = vkeyboard_read,
        .write   = vkeyboard_write,
    };
     
    static int __init vkeyboard_init(void)
    {
        int result = register_chrdev(vkeyboard_major, "vkeyboard", &vkeyboard_fops);
        vkeyboard_input_dev_setup();
     
        return result;
    }
     
    static void __exit vkeyboard_cleanup(void)
    {
        input_unregister_device(vkeyboard_idev);
        unregister_chrdev(vkeyboard_major, "vkeyboard");
     
        return;
    }
     
    module_init(vkeyboard_init);
    module_exit(vkeyboard_cleanup);

    o 再实现一个虚拟输入设备。

    static int vkeyboard_input_dev_open(struct input_dev* idev)
    {
        printk(KERN_INFO"%s/n", __func__);
     
        return 0;
    }
     
    static void vkeyboard_input_dev_close(struct input_dev* idev)
    {
        printk(KERN_INFO"%s/n", __func__);
     
        return;
    }
     
    static int vkeyboard_input_dev_setup(void)
    {
        int ret = 0;
        int i = 0;
        vkeyboard_idev = input_allocate_device();
     
        if(vkeyboard_idev == NULL)
        {
            return -ENOMEM;
        }
     
        vkeyboard_idev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) | BIT_MASK(EV_MSC);
        vkeyboard_idev->mscbit[0] = BIT_MASK(MSC_SCAN) | BIT_MASK(MSC_SERIAL) | BIT_MASK(MSC_RAW);
     
        bitmap_fill(vkeyboard_idev->keybit, KEY_MAX);
        bitmap_fill(vkeyboard_idev->relbit, REL_MAX);
        bitmap_fill(vkeyboard_idev->absbit, ABS_MAX);                
     
        vkeyboard_idev->name = "vkeyboard";
        vkeyboard_idev->phys = "vkeyboard/input0";
        vkeyboard_idev->open = vkeyboard_input_dev_open;
        vkeyboard_idev->close = vkeyboard_input_dev_close;
     
        for(i = 32; i < KEY_MAX; i++)
        {
            input_set_capability(vkeyboard_idev, EV_KEY, i);
        }
        __set_bit(EV_KEY, vkeyboard_idev->evbit);
     
        ret = input_register_device(vkeyboard_idev);
     
        return ret;
    }

    o Makefile

    obj-m := vkeyboard.o

    KDIR := /lib/modules/$(shell uname -r)/build
    PWD := $(shell pwd)

    default:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
    install:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules_install
    clean:
        rm -f *.mod.c *.ko *.o Module.markers  modules.order  Module.symvers

    加载模块后,向/dev/vkeyboard里写入要注入的事件,事件将会转发到/dev/input/eventX输入设备文件里,系统会从这里自动读取事件。

    展开全文
  • 增强型键盘驱动程序是什么? 增强型虚拟键盘功能可更好地处理国际键盘和带有额外按键的键盘。此功能只能在 Windows 主机系统中使用。 由于增强型虚拟键盘功能可尽可能快地处理原始键盘输入,所以能够绕过 Windows ...

    安装vmware时出现如下勾选框,纠结要不要勾选?狗哥了一下发现这玩意儿还有用,索性勾上,反正不缺内存(zz)
    在这里插入图片描述
    增强型键盘驱动程序是什么?

    增强型虚拟键盘功能可更好地处理国际键盘和带有额外按键的键盘。此功能只能在 Windows 主机系统中使用。
    由于增强型虚拟键盘功能可尽可能快地处理原始键盘输入,所以能够绕过 Windows 按键处理和任何尚未出现在较低层的恶意软件,从而提高安全性。使用增强型虚拟键盘功能时,如果按下 Ctrl+Alt+Delete,只有客户机操作系统会做出反应。

    小贴示:如果最初安装或升级 Workstation Pro 时没有安装“增强型键盘实用工具”功能,那么可在程序维护模式下运行 Workstation Pro 安装程序来安装此功能

    在 Windows 主机系统中,要使用虚拟机的增强型虚拟键盘功能,则必须安装增强型键盘驱动程序。

    所以大家到里应该可以明白vmware增强型键盘驱动程序是什么了,如果安装虚拟机时没有勾选,以后也可以安装。

    附上pro12的说明

    展开全文
  • WINCE中标准的键盘驱动程序接口可以参考PS2键盘的驱动程序,但那个接口比较复杂,对于了解流接口的人来说,实现一个流接口的驱动程序应该是一个更好的选择.我们只需要实现一个流接口驱动程序,发生中断以后读到键盘的...
    WINCE中标准的键盘驱动程序接口可以参考PS2键盘的驱动程序,但那个接口比较复杂,对于了解流接口的人来说,实现一个流接口的驱动程序应该是一个更好的选择.我们只需要实现一个流接口驱动程序,发生中断以后读到键盘的扫描码,将其用MapVirtualKey转化成虚键,再调用keybd_event函数将些虚键发送出去即可。只是我们需要注意记录CTRL,ALT等特殊键的状态。
    注意:
    1,某些键的扫描码有两个值,以0XE0或0XE1开始,注意正确处理。
    2,一个PS2键盘不需要初始化就可以工作,但我们可以发送RESET命令再读其返回值来判断键盘是否已经连接。
    3,必须加上kbdmous.dll,这个模块,我们的键盘驱动才能正常工作,通常只需要加上NOP Keyboard/Mouse English,再加上相应的注册表设置就行。
    4,系统中只能有一个标准接口的键盘驱动,即kbdmouse.dll,所以如果我们有更多的键盘硬件需要驱动,就需要把其它的做成流接口的,最多将一个写成标准的键盘驱动,当然也可以把所有的都写成流接口驱动,再加上NOP Keyboard/Mouse English。
    展开全文
  • 安装虚拟机时勾选增强型键盘驱动程序有什么用?(在软件安装或者升级时候没勾选怎么办) 这个东西 1.开启了用什么用? 增强型虚拟键盘功能可更好地处理国际键盘和带有额外按键的键盘。此功能只能在 Windows 主机系统...
  • 关于VMware增强型键盘驱动程序

    万次阅读 2019-04-07 14:32:03
    参考: http://www.winwin7.com/JC/7182.html
  • 如何编写键盘驱动程序

    千次阅读 2011-09-30 15:39:41
    1. 指定USB键盘驱动所需的头文件: #include/*内核头文件,含有内核一些常用函数的原型定义*/   #include/*定义内存分配的一些函数*/   #include/*模块编译必须的头文件*/   #include/*输入设备相关函数的...
  • 单片机系统中PS/2键盘驱动程序的设计<!--google_ad_client = "pub-1201501101095833";/* article 300x250, 创建于 08-8-25 */google_ad_slot = "8523775123";google_ad_width = 300;google_ad_height = 250;//--
  • 键盘驱动程序的修改

    千次阅读 2008-12-05 18:16:00
    1、需求原有BSP中,键盘使用了GPIO的16根引脚,8根输入、8根输出。而用户提供的硬件一共使用了9根GPIO的引脚,5根输入、5根输出,按键一共17个,分别是0-9、F1-F5以及CLS和FIX,除了数字以外的其它7个键都有要求返回...
  • 4、 主机系统的磁盘驱动器要求 三、安装教程 1、 安装包 2、 安装流程 3、 安装完成 一、前言 要做一个项目,需要用到Linux系统,所以想着用虚拟机试试,在此把安装教程分享给大家。 如果你有什么问题,...
  • PC键盘驱动程序源码分析

    万次阅读 2004-11-29 12:34:00
     编写目的:描述uclinux内核中pc机键盘驱动的体系结构和工作原理,用于指导针对具体的嵌入式键盘的驱动程序的编写。二. 参考资料:1.《Linux内核源代码情景分析(下册)》第8.7和8.8章节,page330~4122.内核源...
  •  编写目的:描述uclinux内核中pc机键盘驱动的体系结构和工作原理,用于指导针对具体的嵌入式键盘的驱动程序的编写。二. 参考资料:1.《Linux内核源代码情景分析(下册)》第8.7和8.8章节,page330~4122.内核源...
  • 蓝屏时显示的信息为:i8042prt.sys驱动程序有问题。开始DUMP。蓝屏代码:STOP:0x000000E2 (0x00000000,0x00000000,0x00000000,0x00000000) The end-user manually generated the crashdump. 电脑蓝屏分析: ...
  • S3C44B0X键盘的uClinux驱动程序设计

    千次阅读 2010-05-09 10:52:00
    用三星公司的嵌入式微处理器S3C44B0X设计的嵌入式开发板大多采用1×4按键键盘,在移植uClinux到这类开发板上时,必须设计键盘驱动程序。1×4键盘驱动程序通过修改uClinux源代码中PC键盘的驱动程序得到。根据实际电路...
  • 单片机之矩阵键盘驱动程序

    千次阅读 2016-09-18 20:13:34
    51单片机中矩阵键盘驱动程序
  • 2007-12-25 09:59:58 摘要:用三星公司的嵌入式微处理器S3C44B0X设计的嵌入式开发板大多采用1×4按键键盘,在移植uClinux到这类开发板上时,必须设计键盘驱动程序。1×4键盘驱动程序通过修改uClinux源代码...
  • USB驱动——键盘驱动(控制传输)

    千次阅读 2016-07-21 12:25:56
    本文以 usbkbd.c 为例,分析 usb 键盘驱动程序。 static int __init usb_kbd_init(void) { int result = usb_register(&usb_kbd_driver); if (result == 0) printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_...
  • LCD驱动程序移植

    千次阅读 2016-06-10 14:38:04
    对LCD的操作可以像串口一样,通过终端设备层的封装(/dev/tty*设备)来输出内容,也可以通过frame buffer(/dev/fb*设备)直接在显存上“绘制”图像。...2)键盘驱动程序 2.操作实例 1)对/dev/tty*调用
  • 驱动键盘记录程序Klog的修改

    千次阅读 2007-09-28 12:56:00
    对驱动型键盘记录程序Klog的修改 vocanicy 2007/09/27 Windows上的各种软件都做过,就是没接触做驱动,真是惭愧。... 本人初次接触驱动程序开发,下面这些小的改动,也让我欣赏了很多次Windows的蓝屏。在这我
  • 如何编写驱动程序

    2016-06-18 14:53:46
    驱动,就是屏蔽到底层设备的细节,比如,键盘驱动程序,QT在打开键盘的设备节点的时候,它不知道系统的键盘是什么,是GPIO接的,是I2C总线接的,它都不知道,它所做的就是read,如果有按键,那么就能读出键值,如果...
  • 基于Windows CE的7×3手机键盘驱动实现 摘要:本文讨论了7×3矩阵键盘的工作原理和Windows CE操作系统的矩阵键盘驱动程序模型,详细分析和阐述了嵌入式系统中手机键盘驱动程序的设计和实现方法。 关键词:...
  • 逐行扫描:通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。
  • 一个嵌入式Linux系统的键盘驱动实现

    千次阅读 2007-08-31 15:10:00
    1 引言 Linux由于其具有内核强大且稳定,易于扩展和裁减,丰富的硬件支持等诸多优点,在嵌入式系统中得到了... 2 Linux键盘驱动简介 Linux中的大多数驱动程序都采用了层次型的体系结构,键盘驱动程序也不例外。在Lin
  • 什么是驱动程序

    千次阅读 多人点赞 2018-11-05 20:19:50
    驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。...
  • 键盘驱动笔记

    千次阅读 2006-04-13 10:19:00
    前段时间想写一个简单的键盘驱动,就找网上找了一些文档看看。JIURL的键盘驱动5篇文章都很精彩,让人很快就能明白键盘驱动的原理。一般情况微软建议写的键盘驱动都是属于keyboard filter driver,它位于kbdclass和i...
  • 驱动程序

    千次阅读 2013-07-07 08:00:34
    但像CPU、内存、主板、软驱、键盘、显示器等设备却并不需要安装驱动程序也可以正常工作,而显卡、声卡、网卡等却一定要安装驱动程序,否则便无法正常工作。这是为什么呢? 这主要是由于这些硬件对于一台个人电脑来...
  • Linux X86 PS/2键盘驱动分析记录

    千次阅读 2017-05-07 12:18:16
    1,Linux X86 PS/2 键盘驱动框架流程(以下均已Intel 8042键盘控制器为例): 1.1 设备初始化注册流程: 键盘控制器硬件驱动(i8042.c) -> 串口驱动核心(serio.c) -> 串口驱动(atkbd.c) -> 输入驱动核心...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 103,790
精华内容 41,516
关键字:

键盘驱动程序