import streamlit as st COPTIC_LETTERS = [ ['Ⲁ', 'Ⲃ', 'Ⲅ', 'Ⲇ', 'Ⲉ', 'Ⲋ', 'Ⲏ', 'Ⲑ', 'Ⲓ', 'Ⲕ'], ['Ⲗ', 'Ⲙ', 'Ⲛ', 'Ⲝ', 'Ⲟ', 'Ⲡ', 'Ⲣ', 'Ⲥ', 'Ⲧ', 'Ⲩ'], ['Ⲫ', 'Ⲭ', 'Ⲯ', 'Ⲱ', 'Ϣ', 'Ϥ', 'Ϧ', 'Ϩ', 'Ϫ', 'Ϭ', 'Ϯ'], ['ⲁ', 'ⲃ', 'ⲅ', 'ⲇ', 'ⲉ', 'ⲋ', 'ⲏ', 'ⲑ', 'ⲓ', 'ⲕ'], ['ⲗ', 'ⲙ', 'ⲛ', 'ⲝ', 'ⲟ', 'ⲡ', 'ⲣ', 'ⲥ', 'ⲧ', 'ⲩ'], ['ⲫ', 'ⲭ', 'ⲯ', 'ⲱ', 'ϣ', 'ϥ', 'ϧ', 'ϩ', 'ϫ', 'ϭ', 'ϯ'] ] def coptic_keyboard(target_key): if target_key not in st.session_state: st.session_state[target_key] = "" for i, row in enumerate(COPTIC_LETTERS): cols = st.columns(len(row)) for j, letter in enumerate(row): with cols[j]: if st.button(letter, key=f"kb_{i}_{j}"): st.session_state[target_key] += letter st.rerun() col1, col2, col3 = st.columns(3) with col1: if st.button("Space"): st.session_state[target_key] += " " st.rerun() with col2: if st.button("⌫"): st.session_state[target_key] = st.session_state[target_key][:-1] st.rerun() with col3: if st.button("Clear"): st.session_state[target_key] = "" st.rerun()