VBuMaSTeR adlı üyeden alıntı: mesajı görüntüle
Hocam konu benim boyumu aştı. Konuyu yukarı taşımak için son yorumumu atıp buralardan ayrılıyorum
Sonunda çözdüm. Hocam sizi de etiketledim belki bir gün işine yarar.

İnput bu şekilde yazılıyor
<input type="text" #firstInput name="email"(keyup.enter)="onEnter(firstInput.value)" (click)="updateCaretPosition()"
 [(ngModel)]="displayText" placeholder="ID yazın" autocomplete="off" />
İnputta her tıklama olduğunda updateCaretPosition() fonksiyonu çalışıyor. Kursor pozisyonunu belirlemek için.

Component'te çalışacak kodlar.
@ViewChild('firstInput') private firstInput: ElementRef;
displayText: string = '';


ngOnInit() {
        this.caretPosition$.subscribe((caretPosition: number) => {
            this.caretPosition = caretPosition;
            setTimeout(() => {
                SalesConsoleComponent.setSelectionRange(this.displayText, caretPosition, caretPosition);
            }, 0);
        });
    }
private static setSelectionRange(input: any, start: number, end: number): void {
        if (input.setSelectionRange) {
            input.focus();
            input.setSelectionRange(start, end);

        } else if (input.createTextRange) {
            const range = input.createTextRange();

            range.collapse(true);
            range.moveEnd('character', end);
            range.moveStart('character', start);
            range.select();
        }
    }
    public updateCaretPosition(): void {
        this.setCaretPosition(this.firstInput.nativeElement.selectionStart);

    }
    public caretPosition$: ReplaySubject<number> = new ReplaySubject(1);
    private caretPosition: number;
    public setCaretPosition(position: number) {
        this.caretPosition$.next(position);
    }