<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
<link rel="self" type="application/atom+xml" href="https://forum.yubico.com/feed.php?f=3&amp;t=2703" />

<title>Yubico Forum</title>
<subtitle>...visit our web-store at</subtitle>
<link href="https://forum.yubico.com/index.php" />
<updated>2017-09-12T13:22:55+01:00</updated>

<author><name><![CDATA[Yubico Forum]]></name></author>
<id>https://forum.yubico.com/feed.php?f=3&amp;t=2703</id>
<entry>
<author><name><![CDATA[kspearrin]]></name></author>
<updated>2017-09-12T13:22:55+01:00</updated>
<published>2017-09-12T13:22:55+01:00</published>
<id>https://forum.yubico.com/viewtopic.php?t=2703&amp;p=9743#p9743</id>
<link href="https://forum.yubico.com/viewtopic.php?t=2703&amp;p=9743#p9743"/>
<title type="html"><![CDATA[Transforming OTP on Alternate Keyboards (ex. Dvorak/Colemak)]]></title>

<content type="html" xml:base="https://forum.yubico.com/viewtopic.php?t=2703&amp;p=9743#p9743"><![CDATA[
Hey guys,<br />We are using the Yubicloud OTP service to validate YubiKeys for our users. We've come to discover that the OTP service with YubiKeys only works properly with qwerty keyboards.<br /><br />To help mitigate this for our non-qwerty users we are planning on the following solution:<br /><br />1. Detect if the OTP token is qwerty, dvorak, or colemak.<br />2. If not qwerty, do a simple transform based on the key maps back to qwerty (ex. <!-- m --><a class="postlink" href="https://awsm-tools.com/text/keyboard-layout">https://awsm-tools.com/text/keyboard-layout</a><!-- m -->)<br />3. Validate with OTP APIs using the qwerty token like normal.<br /><br />The problem we've come to in this solution is how to properly handle step #1. From the OTP token alone, is there a way to reliably determine what type of keyboard it was generated with?<br /><br />Looking at <!-- m --><a class="postlink" href="https://developers.yubico.com/OTP/OTPs_Explained.html">https://developers.yubico.com/OTP/OTPs_Explained.html</a><!-- m --> and my own OTPs it would seem that the public ID of the YubiKey (first 12 characters) may offer some help. For example, does this ID always start with &quot;c&quot;? If so we could look at that and if it started with &quot;j&quot;, we would now know that it is a Dvorak keyboard. This solution would fail for Colemak keyboards though since &quot;c&quot; is mapped to &quot;c&quot;.<br /><br />Is there any advise you can give about the make-up of the OTP tokens that would make this detection possible?<br /><br />Thanks!<p>Statistics: Posted by <a href="https://forum.yubico.com/memberlist.php?mode=viewprofile&amp;u=4832">kspearrin</a> — Tue Sep 12, 2017 1:22 pm</p><hr />
]]></content>
</entry>
</feed>