นี่เป็นไฟล์สคริปต์ที่ผมใช้สั่งโปรแกรม scrcpy เชื่อมต่อกับ Redmi 9A ผ่านทาง USB ครับ จริงๆก็เชื่อมต่อผ่าน WiFi ก็ได้ ผมปลอม serial number นะ ไม่ใช่ serial จริง
ไฟล์ 002_usb.bat
- โค้ด: เลือกทั้งหมด
@echo off
set SERIAL=YLZLYDEQXXXXXXXX
set IP=
for /f "tokens=2 delims= " %%a in ('adb -s %SERIAL% shell ip -f inet addr show wlan0 ^| findstr "inet "') do (
for /f "tokens=1 delims=/" %%b in ("%%a") do set IP=%%b
)
if "%IP%"=="" (
echo [Error] IP Address not found. Device may be offline, unplugged, or Wi-Fi is turned off.
pause
exit /b
)
echo Device IP: %IP%
adb -s %SERIAL% tcpip 5552
timeout /t 2 >nul
adb connect %IP%:5552
scrcpy -s %IP%:5552 --window-title="Redmi 9A #002" --turn-screen-off --stay-awake -m 1024
หมายเหตุ
ตอนรันคำสั่ง scrcpy ในสคริปต์ ผมลองทั้งออปชั่น -K ก็แล้ว และตั้งค่า Physical Keyboard ของ scrcpy ก็แล้ว ก็ยังพิมพ์ไทยไม่ได้ ซึ่งมันอาจเป็นปัญหาของ MIUI 12 เวอร์ชั่นนี้ เวอร์ชั่นอื่นหรือมือถือยี่ห้ออื่นอาจจะไม่เป็นปัญหาครับ
โปรแกรม scrcpy ก็จะแสดงหน้าจอแบบนี้ครับ
ทีนี้มีปัญหาว่าเวลาจะพิมพ์ข้อความเป็นภาษาไทย แม้จะเพิ่ม Keyboard Layout ทั้ง English และ Thai แล้ว ใช้ปุ่มสลับภาษา Shift + Spacebar เครื่อง Android มันก็สลับให้นะ แต่พิมพ์ภาษาไทยไม่ได้ ได้แต่อังกฤษเท่านั้น ดูตัวอย่างรูปด้านล่างนี้เลยครับ ซึ่งถ้าเอาเม๊าส์ไปคลิกตรงตัวอักษรก็จะเป็นภาษาไทยให้ แต่ผมต้องการพิมพ์บนคีย์บอร์ดของ Windows เลย มันเร็วกว่า
เอาหล่ะครับ ก็ทราบปัญหาแล้วเนาะ ต่อไปมาดูวิธีการแก้ไขกันครับ
1. เปิด Powershell บน Windows 11
รันคำสั่งต่อไปนี้เพื่อดาวน์โหลด AutoHotkey v2 แล้วแตกไปยัง C:\Users\RyzenNotebook\Desktop\scrcpy-win64-v3.3.4
- โค้ด: เลือกทั้งหมด
Invoke-WebRequest -Uri "https://www.autohotkey.com/download/ahk-v2.zip" -OutFile "$env:TEMP\ahk-v2.zip"
Expand-Archive -Path "$env:TEMP\ahk-v2.zip" -DestinationPath "C:\Users\RyzenNotebook\Desktop\scrcpy-win64-v3.3.4" -Force
2. สร้างสคริปต์พิมพ์ไทย (ScrcpyThai.ahk)
ผมสร้างในโฟลเดอร์ C:\Users\RyzenNotebook\Desktop\scrcpy-win64-v3.3.4 เพราะผมเอา scrcpy มาไว้ในนี้ จะได้เป็นสัดส่วน
- โค้ด: เลือกทั้งหมด
#Requires AutoHotkey v2.0
#SingleInstance Force
; ทำงานเฉพาะเมื่อคลิกใช้งานอยู่บนหน้าต่าง scrcpy
#HotIf WinActive("Redmi") or WinActive("ahk_exe scrcpy.exe")
; กด Alt + T เพื่อเปิดกล่องพิมพ์ภาษาไทยสด
!t:: {
ib := InputBox("พิมพ์ข้อความภาษาไทย (กด Enter เพื่อส่งเข้ามือถือทันที):", "พิมพ์ไทยลง scrcpy", "w380 h95")
if (ib.Result = "OK" and ib.Value != "") {
A_Clipboard := ib.Value
Sleep(50)
Send("^v")
}
}
; กด Ctrl + Enter เพื่อส่งคำสั่ง Enter (กดส่งแชท/ค้นหา) ในมือถือ
^Enter:: {
Send("{Enter}")
}
#HotIf
3. แก้ไขไฟล์ .bat ที่ใช้เปิด scrcpy
ในโฟลเดอร์ C:\Users\RyzenNotebook\Desktop\scrcpy-win64-v3.3.4 ผมสร้างไฟล์ *.bat ไว้ เวลาจะควบคุมมือถือเครื่องไหนผมก็ double click เปิดไฟล์ .bat เลย สะดวกมา เปิดพร้อมกันได้หลายเครื่องเลย ตอนนี้มี 3 เครื่อง ยกตัวอย่างเครื่องที่ 2 ครับ ชื่อ Redmi 9A #002
ไฟล์ 002_usb.bat (เชื่อมต่อผ่าน USB)
- โค้ด: เลือกทั้งหมด
@echo off
set SERIAL=YLZLYDEQLFIZ9LDQ
set IP=
start "" "%~dp0AutoHotkey64.exe" "%~dp0ScrcpyThai.ah
for /f "tokens=2 delims= " %%a in ('adb -s %SERIAL% shell ip -f inet addr show wlan0 ^| findstr "inet "') do (
for /f "tokens=1 delims=/" %%b in ("%%a") do set IP=%%b
)
if "%IP%"=="" (
echo [Error] IP Address not found. Device may be offline, unplugged, or Wi-Fi is turned off.
pause
exit /b
)
echo Device IP: %IP%
adb -s %SERIAL% tcpip 5552
timeout /t 2 >nul
adb connect %IP%:5552
scrcpy -s %IP%:5552 --window-title="Redmi 9A #002" --turn-screen-off --stay-awake -m 1024
ไฟล์ 002_ip.bat (เชื่อมต่อผ่าน WiFi)
- โค้ด: เลือกทั้งหมด
@echo off
start "" "%~dp0AutoHotkey64.exe" "%~dp0ScrcpyThai.ahk"
set IP=10.209.138.13
set PORT=5552
echo Disconnecting stale session if any...
adb disconnect %IP%:%PORT% >nul 2>&1
echo Connecting to %IP%:%PORT%...
adb connect %IP%:%PORT%
timeout /t 1 >nul
scrcpy -s %IP%:%PORT% --window-title="Redmi 9A #002" --turn-screen-off --stay-awake -m 1024 --max-fps=15 -b 2M
มาดูการใช้งานกันครับ
1. ถ้าต่อผ่าน WiFi ก็ดับเบิลคลิกไฟล์ 002_ip.bat โปรแกรม scrcpy จะดึงหน้าจอของ Redmi มาโชว์
2. ถ้าพิมพ์อังกฤษก็กดพิมพ์บนคีย์บอร์ด Notebook ได้เลย
3. ถ้าจะพิมพ์ไทยให้กด alt+t ครับ (กดปุ่ม ALT ค้างไว้ แล้วกดปุ่ม T)
จะเห็นหน้าต่างเล็กๆแบบนี้
พิมพ์ข้อความภาษาไทยได้เลย ภาษาไทยปนอังกฤษก็ได้ แล้วกด Enter
4. ข้อความจะส่งเข้าไปยังมือถือทันที ดังตัวอย่าง
5. กด Enter ให้ Browser ไปค้นหาคำตอบมาให้
มือถือบนโปรแกรม scrcpy กับมือถือจริงๆแสดงเหมือนกันเป๊ะๆครับ
เพิ่มเติมนะครับ
ถ้ารำคาญตากับปุ่มกดที่แสดงบนหน้าจอ ตอนนี้เราไม่ต้องให้มันโชว์แล้วเพราะเรามีหน้าจอวิเศษใช้พิมพ์ข้อความแล้ว สามารถปิดปุ่มได้ครับ โดยใช้ออปชั่น -K ตอนรันคำสั่ง scrcpy โดยในสคริปต์นั้นบรรทัดสั่งรัน scrcpy ให้เพิ่ม -K แบบนี้นะ
- โค้ด: เลือกทั้งหมด
scrcpy -s %IP%:%PORT% --window-title="Redmi 9A #002" --turn-screen-off --stay-awake -m 1024 --max-fps=15 -b 2M
แก้ไขไฟล์แล้วก็อย่าลืมปิดหน้าต่างของมือถือบน scrcpy ด้วย แล้วค่อยรันไฟล์ *.bat ใหม่
