Esta é agora uma pergunta antiga, mas estou postando minha solução no caso de ajudar alguém.
Defini um controle personalizado que é uma extensão do padrão sap.m.Input, onde adiciono uma propriedade para o inputmode, que então é adicionada como um atributo durante a renderização do controle:
sap.ui.define( ['sap/m/Input'], function (Input) { return Input.extend("co.example.control.Input", { metadata: { properties: { 'inputmode': {type: 'string', defaultValue: 'none'} } }, renderer: { writeInnerAttributes: function (oRm, oInput) { sap.m.InputRenderer.writeInnerAttributes.apply(this, arguments); oRm.attr('inputmode', oInput.getInputmode()) } } }) })
Aqui está um exemplo de implementação:
<ei:ExtendedInput inputmode="none" change="onBarcodeScan" value="{/ScannedBarcode}"/>
Claro, você pode usar um link de modelo se precisar que o valor seja dinâmico, o que eu tive que fazer, como explico em minha
resposta um pouco mais detalhada aqui
.