阅读更多

12顶
0踩

Web前端

原创新闻 Google AJAX Language API的新成员:虚拟键盘

2009-06-23 20:06 by 正式记者 menuhin 评论(2) 有10058人浏览
长久以来,基于非拉丁字符的语言的输入一直不是件很容易的事情:比如一个德国人到了美国,很难找到如何用标准的美国键盘输入德语中的特殊字符。为了解决此类问题,Google发布了AJAX Language API的新成员,Virtual Keyboard (虚拟键盘)API,如下图就是一个虚拟的俄语键盘。


虚拟键盘API不只是在屏幕显示一个可以用鼠标点击的键盘,同时用户的电脑键盘的相应按键也会被映射到对应的字符。另外,开发者还可以给同一页面上的不同输入框指定不同语系的虚拟键盘。

点击这里可以试试看虚拟键盘的实际效果,点击这里查看这个API的详细说明。

来自: googlecode
12
0
评论 共 2 条 请登录后发表评论
2 楼 weiqi980 2011-01-28 10:56

var google.elements.keyboard.LayoutCode = {
  'ALBANIAN': 'sq',
  'ARABIC': 'ar',
  'ARMENIAN_EASTERN': 'hy_east',
  'ARMENIAN_WESTERN': 'hy_west',
  'BASQUE': 'eu',
  'BELARUSIAN': 'be',
  'BENGALI_PHONETIC': 'bn_phone',
  'BOSNIAN': 'bs',
  'BRAZILIAN_PORTUGUESE': 'pt_br',
  'BULGARIAN': 'bg',
  'CATALAN': 'ca',
  'CHEROKEE': 'chr',
  'CROATIAN': 'hr',
  'CZECH': 'cs',
  'CZECH_QWERTZ': 'cs_qwertz',
  'DANISH': 'da',
  'DARI': 'prs',
  'DUTCH': 'nl',
  'DEVANAGARI_PHONETIC': 'deva_phone',
  'ENGLISH': 'en',
  'ESTONIAN': 'et',
  'ETHIOPIC': 'ethi',
  'FINNISH': 'fi',
  'FRENCH': 'fr',
  'GALICIAN': 'gl',
  'GEORGIAN_QWERTY': 'ka_qwerty',
  'GEORGIAN_TYPEWRITER': 'ka_typewriter',
  'GERMAN': 'de',
  'GREEK': 'el',
  'GUJARATI_PHONETIC': 'gu_phone',
  'GURMUKHI_PHONETIC': 'guru_phone',
  'HEBREW': 'he',
  'HINDI': 'hi',
  'HUNGARIAN_101': 'hu_101',
  'ICELANDIC': 'is',
  'ITALIAN': 'it',
  'KANNADA_PHONETIC': 'kn_phone',
  'KAZAKH': 'kk',
  'KHMER': 'km',
  'KOREAN': 'ko',
  'KYRGYZ': 'ky_cyrl',
  'LAO': 'lo',
  'LATVIAN': 'lv',
  'LITHUANIAN': 'lt',
  'MACEDONIAN': 'mk',
  'MALAYALAM_PHONETIC': 'ml_phone',
  'MALTESE': 'mt',
  'MONGOLIAN_CYRILLIC': 'mn_cyrl',
  'MONTENEGRIN': 'srp',
  'NORWEGIAN': 'no',
  'ORIYA_PHONETIC': 'or_phone',
  'PAN_AFRICA_LATIN': 'latn_002',
  'PASHTO': 'ps',
  'PERSIAN': 'fa',
  'POLISH': 'pl',
  'PORTUGUESE': 'pt_pt',
  'ROMANI': 'rom',
  'ROMANIAN': 'ro',
  'RUSSIAN': 'ru',
  'SANSKRIT_PHONETIC': 'sa_phone',
  'SERBIAN_CYRILLIC': 'sr_cyrl',
  'SERBIAN_LATIN': 'sr_latn',
  'SINHALA': 'si',
  'SLOVAK': 'sk',
  'SLOVAK_QWERTY': 'sk_qwerty',
  'SLOVENIAN': 'sl',
  'SOUTHERN_UZBEK': 'uzs',
  'SPANISH': 'es_es',
  'SWEDISH': 'sv',
  'TAMIL_PHONETIC': 'ta_phone',
  'TATAR': 'tt',
  'TELUGU_PHONETIC': 'te_phone',
  'THAI': 'th',
  'TURKISH_F': 'tr_f',
  'TURKISH_Q': 'tr_q',
  'UIGHUR': 'ug',
  'UKRAINIAN_101': 'uk_101',
  'URDU': 'ur',
  'UZBEK_LATIN': 'uz_latn',
  'UZBEK_CYRILLIC_PHONETIC': 'uz_cyrl_phone',
  'UZBEK_CYRILLIC_TYPEWRITTER': 'uz_cyrl_type',
  'VIETNAMESE_TCVN': 'vi_tcvn',
  'VIETNAMESE_TELEX': 'vi_telex',
  'VIETNAMESE_VIQR': 'vi_viqr'
};

没有China
1 楼 night_stalker 2009-06-23 23:21
支持的 layout:

ARABIC: 'ar',
HINDI: 'hi',
POLISH: 'pl',
THAI: 'th',
RUSSIAN: 'ru',

没有中文。

不过按住 shift 键就键盘就变化很酷。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C++ 动态链接库实现实例及解释

    本实例是包括:求字符串长度的函数stringlen、字符串大小写转换函数stringupr、stringlwr及字符串比较函数stringcmp,在main函数中调用并输出结果。用动态链接方式实现,代码中有解释!

  • rpm制作实例 简单打包

    实例: cat /usr/src/redhat/SPECS/nginx-server.spec Summary : This is a nginx cache L1 RPM package. Name : nginx-server Version : 1.0 Release : 2 License : GPL Group : System du...

  • ucos3+emwin+appwizard控制硬件LED

    ucos3+emwin+appwizard 移植,开发,不用串口屏

  • 使用AppWizard(下)

    在上一讲中我们已经学习到了AppWizard的第四个步骤,本讲心铃将紧接着上一讲继续介绍第四步中的高级选项,以及第五步和第六步,当AppWizard生成了源程序后,我们还要试着编译运行它。·使用MFC AppWizard 在第四步中点击Advanced按钮,又可调出如图6-1和6-2所示的高级选项对话框。图6-1用于指定文档模板字符串。在上面的两个选项中,“File extension

  • MX570怎么样 mx570显卡什么级别

    Nvidia GeForce MX570(GN20-S5,设备 ID 0x25A6)是一款适用于笔记本电脑的入门级移动显卡。它基于具有 2 GB GDDR6 的 Ampere GA107 芯片。MX570怎么样这些点很重要http://www.adiannao.cn/dy 与类似的GeForce RTX 2050相比,MX570 不提供光线追踪和 DLSS 支持。与RTX 3050相比,MX570 和 RTX 2050 提供的内存总线大大减少,仅为 64 位。 由于显存总线大幅减少,移动版GeForce

  • 例程详析动态链接库

    动态链接库(DLL,即Dynamic-LinkLibrary)是可执行的模块,但它没有自己的堆栈,必须在调用动态链接库函数的程序环境下运行。动态链接库不仅可以作为一个运行模块,包括函数代码,而且可以包含程序以外的任何数据或资源(位图、图标等等)。动态链接库就是给应用程序提供函数或者资源。  动态链接与静态链接是相对立的。静态链接的时候,可执行程序内包含了所访问的函数的代码...

  • 动态链接库dll 编写跟调用实例

    1.“dll编写demo文件夹” 是一个编译dll的小例子,具体 文件--新建--其他--dll 生成了一个dlldemo.dll的文件 2.“dll调用demo文件夹” 是一个调用上面编译的dlldemo.dll文件的小例子,具体 先将dlldemo.dll文件拷到“dll调用demo文件夹下面”,然后具体的调用看代码。 3.以上仅仅是一个小例子,代码特别简短,特别简单,主要给初学者看的。 4.dll编译的方法很多,以上仅仅是一种编译方法,仅供参考

  • 我的Dll(动态链接库)学习笔记

    DLL(Dynamic Link Libraries)专题:    比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时

  • java继承-静态绑定和动态绑定

     静态绑定和动态绑定:   静态:程序执行前方法已经被绑定,针对java简单可以理解为程序编译器已的绑定(静态绑定)java当中的方法是final、static、private构造方法都是前期绑定   动态:运行时,根据变量实际引用的对象类型绝定调用哪个方法(动态绑定) 例如:   静态绑定在编译期进行   Person.sayHi();   动态绑定在运行期进行   P...

  • 动态链接库(DLL)初始化例程失败 解决方法

    重装了系统,在安装VIVADO的时候报错:LoadLibrary failed with error 1114: 动态链接库(DLL)初始化例程失败,不知道怎么回事,在知乎上看到一篇帖子:https://zhuanlan.zhihu.com/p/25054452对就是这个错误:解决办法:1:打开控制面板2:选择硬件和声音3:电源选项4:更改计划设置5:更改高级电源设置6:选择可切换动态显卡--全局...

  • Dll(动态链接库)学习笔记(zz)

    DLL(DynamicLinkLibraries)专题:比较大的应用程序都由很多模块组成,这些模块分别完成相对独 立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块 的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程...

  • group_concat()函数总结

    group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。 比较抽象,难以理解。 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。 group_concat函数应该是在内部执行了gro

  • 用VC 6.0实现串行通信的三种方法

    中国科学院 王颖 ---- 摘要: 本文介绍了在Windows平台下串行通信的实现机制,讨论了根据不同的条件用Visual C++ 设计串行通信程序的三种方法,并结合实际,实现对温度数据的接收监控。 ---- 在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。依据不同的条件实现对串口的灵活编程控制是我们所需要的。 ---- 在

  • VC++ 的串口通讯

                                                   VC++ 的串口通讯       代翔  在VC++中有两种方法可以进行串口通讯。一种是利用Microsoft公司提供的ActiveX控件 Microsoft Communications Control。另一种是直接用VC++访问串口。下面将简述这两种方法。  一、Microsoft C

  • 详析VC中坐标系的建立

                                           详析VC中坐标系的建立    bull77  建立一个合适的坐标系可以为我们的绘图带来很大的方便 。下面介绍一下如何在VC中建立我们想要的坐标系。  一 设备坐标和逻辑坐标  设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏

Global site tag (gtag.js) - Google Analytics