Posted 14 July 2022, 9:30 am EST
                                
                                
                                    Work in progress, but this is what I have so far
onEditorStatusChanged: function (event, args) {
        let copyCellValues = (selections, activeRowIndex, activeColumnIndex) => {
            let activeCellValue = workbook.getActiveSheet().getCell(activeRowIndex, activeColumnIndex).value();
            workbook.suspendPaint();
            workbook.suspendEvent();
            selections.forEach((selection) => {
                let valuesArray = Array.from({ length: selection.rowCount }).fill(Array.from({ length: selection.colCount }).fill(activeCellValue));
                console.log(selection.row, selection.col, valuesArray);
                workbook.getActiveSheet().setArray(selection.row, selection.col, valuesArray, false);
            });
            workbook.resumeEvent();
            workbook.resumePaint();
        };
        if (args.newStatus == GC.Spread.Sheets.EditorStatus.enter || GC.Spread.Sheets.EditorStatus.edit) {
            let editor = workbook.getHost().querySelector('[gcuielement="gcEditingInput"]');
            if (editor) {
                let selections = workbook.getActiveSheet().getSelections();
                let activeRowIndex = workbook.getActiveSheet().getActiveRowIndex();
                let activeColumnIndex = workbook.getActiveSheet().getActiveColumnIndex();
                editor.addEventListener('keydown', function (e) {
                    if (e.keyCode == 13 && e.ctrlKey) {
                        e.preventDefault();
                        var kb = new KeyboardEvent('keydown', {
                            ctrlKey: false,
                            keyCode: 13
                        });
                        editor.dispatchEvent(kb);
                        copyCellValues(selections, activeRowIndex, activeColumnIndex);
                    }
                }, true);
            }
        }
    }