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