Да, так должно работать. Две небольшие поправки: во-первых, scope: this избыточно, т.к. это и есть контекст вызова по умолчанию для методов. Во-вторых, в Ext 5+ можно вместо вызова this.listen() просто задать конфигурацию listen:
Ext.define('My.app.Controller', {
extend: 'Ext.app.Controller',
listen: {
controller: {
'#barcode': {
'barcodeInput': 'onBarCodeInput'
}
}
},
onBarCodeInput: function() {
...
}
});
Старайтесь писать декларативный код везде, где возможно; это вам пригодится многократно.