代码之家  ›  专栏  ›  技术社区  ›  Kev

CSS媒体查询是否连接了物理键盘

  •  5
  • Kev  · 技术社区  · 8 年前

    假设我有一个带有键盘快捷键的站点,我想在其中直观地显示所述键盘快捷键,作为它们应用到的任何元素的一部分。

    在触摸界面上,尤其是在手机上,我不想麻烦,因为:

    1. 即使可以,也没有人会这样使用软键盘
    2. 键盘快捷键的视觉显示占据了宝贵的空间
    3. 在无键盘的环境中显示键盘快捷键可能会令人困惑,或者至少不雅观

    然而,媒体查询文档似乎没有提到这方面的任何内容。

    现在是2016年,这还不可能吗?

    2 回复  |  直到 8 年前
        1
  •  5
  •   Dominik    7 年前

    不幸的是,媒体查询4中没有查询来识别键盘的存在。 虽然还有其他新的查询可能会有所帮助。

    在我自己的应用程序中,我假设当有鼠标或触摸板作为主要输入时,键盘就存在了。您可以使用查询

    @media (hover: hover) and (pointer: fine) { ... }

    此查询将转到 false 适用于带有触摸屏的设备、手写笔设备以及相机输入等奇异设备。

    请注意,使用此查询,您将查询主输入设备。您可以使用查询所有输入设备 any-hover any-pointer .

    还请注意,截至目前,MQ4的采用率为所有浏览器的81%,但没有Firefox: https://caniuse.com/#feat=css-media-interaction

        2
  •  3
  •   BoltClock Alan H.    8 年前

    介质查询4不提供任何介质功能来确定是否连接了物理键盘。没有什么可以阻止您在www样式的邮件列表上为MQ4或MQ5提出这样的功能,但是请记住,对于供应商来说,这样的媒体功能是否容易实现是另一回事。